Battle Talent  V11
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Properties | Events | List of all members
CrossLink.InteractBase Class Reference

Inherits CrossLink.PhysicsUnit.

Inherited by CrossLink.InteractWeapon.

Public Types

enum class  InteractType {
  Default , Fragile , Tough , Solid ,
  Empty
}
 
enum class  HeavyLevel {
  None , VeryLight , Light , Normal ,
  Heavy , VeryHeavy
}
 

Public Member Functions

Vector3 GetLastVelocity ()
 
Vector3 GetLocalVelocity ()
 
void TapWeaponHangingTime ()
 
bool IsWeaponHanging ()
 
void MulplyDurabulity (float mlp)
 
int GetDuralityMax ()
 
bool StillHasEngouthDurability ()
 
string GetDuralityDisplay ()
 
void CostDurability (int cost=1, bool costByUsing=true)
 
bool IsBrokwnWarning ()
 
void EnterBrokenReady ()
 
void StopToDestroy ()
 
void MarkRecovery ()
 
int GetRevDurability ()
 
int GetPredictDurability ()
 
void SetRecovery ()
 
void Clear ()
 
override void Dead (bool destroy=true)
 
AIProxy GetLatestHolder ()
 
void SetLatestHolder (AIProxy aIProxy)
 
bool IsHeldByNpc ()
 
AIProxy GetHolder ()
 
InteractTrigger GetInteractTrigger ()
 
bool ShouldBeKeepHolding (InteractHand hand)
 
XftWeapon.XWeaponTrail GetWeaponTrail ()
 
void SetAsNoTrail ()
 
void ActivateTrail (bool a, Color c)
 
bool IsAttachedByFC ()
 
bool HasDisableAtkMark ()
 
void MarkAtkDisableForAWhile ()
 
void ClearDisableAtkmark ()
 
bool IsChargedThrown ()
 
void MarkChargedThrownAssist (bool t)
 
void MarkThrowAssist (float offset=0)
 
bool IsThrowAssist (float assistSec=0.5f)
 
bool IsThrowAssistGrab (float assistSec=0.5f)
 
void ClearThrowAssistGrab ()
 
void ClearThrowAssist ()
 
void MarkThrowAssistByNpc (float offset=0)
 
bool IsThrowAssistByNpc (float assistSec=1f)
 
void ClearThrowAssistByNpc ()
 
override void OnAttachBuild (PhysicsUnit pu, ConfigurableJoint joint, Rigidbody part)
 
override void OnAttachBreak (PhysicsUnit pu, ConfigurableJoint joint, Rigidbody part)
 
bool IsStrongPart (Vector3 point)
 
void SetHeavyLevel (HeavyLevel hl)
 
HeavyLevel GetHeavyLevel ()
 
InteractHand GetPrimaryHand ()
 
InteractHand GetSecondaryHand ()
 
void DisableGrab ()
 
void EnableGrab ()
 
bool IsGrabbed ()
 
void BoostInertia (bool b)
 
bool IsJustLeave ()
 
void MarkLeave (float offset=0)
 
bool IsTightByStab ()
 
void EnableRecoil (float recoilValue=0.25f, float sec=0.2f)
 
void EnableRecoil (float linearRecoilValue, float angularRocoilValue, float sec)
 
void SetTight (bool tie)
 
bool GetHandPower ()
 
float GetHandPowerFactor ()
 
float GetHandHitFactor ()
 
float GetHandRecoilFactor ()
 
float GetHandBreakDefFactor ()
 
float GetKOFactor ()
 
void SetHandLinearDrive (float factor=1)
 
void SetHandPower (bool hi, bool skipCacheCheck=false, float extraFactor=1)
 
virtual void OnCallBegin (InteractHand hand)
 
virtual void OnCallEnd ()
 
virtual void OnCall (InteractHand hand, float progress)
 
virtual void OnGrab (InteractHand hand, AttachObj attach)
 
virtual void OnUnGrab (InteractHand hand, AttachObj attach)
 
void SetRBColLevel (bool hi)
 
void SetTwoHandEnable (bool e)
 
void UpdateTwoHandOrder ()
 
virtual void OnDrop (bool d)
 
virtual void DropUpdate ()
 
bool HasEnoughHand ()
 
bool CanBeGrab ()
 
void SetHolderCollision (InteractCharacter player, bool body, bool right, bool left, bool ignore, float delay=0)
 
string GetName ()
 
void InitGazeDetail ()
 
string OnGazeShow (string info)
 
void ShowGrabale (InteractHand hand)
 
int GetGrabHandNum ()
 
AttachObj GetClosestAttachPoint (InteractHand hand, bool canGrab=true, float closestDisSqrt=10000)
 
int GetAttachNum ()
 
int GetAttachIndex (AttachObj ato)
 
float GetClosestDistance (InteractHand hand)
 
void ShowHint (AttachPointQuad quad)
 
AttachPointQuad CreateHint (Transform trans, Vector3 anchor)
 
void HideHint (AttachPointQuad quad)
 
void RemoveHint (AttachPointQuad quad)
 
void ClearAllHints ()
 
bool IsSlotEquiped ()
 
AttachObj GetSlotMountPoint ()
 
bool IsSlotAttach (AttachObj attach)
 
InteractHand GetSlotHand ()
 
InteractHand GetAssociatedHand ()
 
bool IsExistItemType (string type)
 
void OnSlot (SlotTrigger slot)
 
void OnUnSlot ()
 
bool IsEquipmentOverlap ()
 
void OnEquipmentOverlap (bool o)
 
void EnableCollision (InteractBase ib, bool enable)
 
void OnTrigger (AttachObj attach, bool t)
 
void OnTriggerOnSlot (bool t)
 
void AddPaintedEvent (System.Action cb)
 
void Paint (Vector3 pos, Quaternion rot, float pressure=0.5f)
 
PaintIn3D.P3dPaintDecal GetBloodDecal ()
 
void UpdateForgeLevel (int newForgeLevel)
 
void UpgradeForceLevel ()
 
void UpgradeForgeLevelToMax ()
 
string GetEnhanceDesc ()
 
bool IsEnhance ()
 
void BeforeSaveData (SavePointMgr.WeaponSaveData data)
 
virtual void OnSale ()
 
virtual void OnBuy ()
 
bool IsUnsold ()
 
void PlayAppearEffect ()
 
void SetDissolveEffect ()
 
void SetDissolveIntensity (float intensity)
 
void RemoveDissolveEffect ()
 
void StopDissolveEffect ()
 

Static Public Member Functions

static string GetNumValue (float num)
 

Public Attributes

bool autoDisappearWhenDurableLow = true
 
int durability = 25
 
int durailityMax
 
InteractType interactType
 
bool handCalling = false
 
Transform[] guardPoints
 
HeavyLevel heavyLevel = HeavyLevel.None
 
float linearForce = 30000
 
float linearDamper = 500
 
float angularForce = 20000
 
float angularDamper = 500
 
float singleHandSpeed = VRTKHandTracker.SPEED_NORMAL
 
float twoHandSpeed = VRTKHandTracker.SPEED_FAST
 
bool allowSecondHand = false
 
bool beAbleToShowGrab = true
 
bool enableAutoTickTwoHand = false
 
bool checkDrop = false
 
AttachObj[] attachList
 
GazeObj gaze
 
bool grabDistanceLimit = false
 
string[] itemTypes
 
AttachObj[] mountAttachs
 
SlotTrigger mountedSlot
 
SlotTrigger mountedSlotOnAwake
 
SlotTrigger[] childSlots
 
bool canPaint = true
 
bool paintInstalled = false
 
PaintIn3D.P3dPaintable paintable
 
int enhanceLevel = -1
 

Static Public Attributes

static bool CheatDura = false
 
static readonly float boostInertiaCoe = 0.2f
 
static string[] deadEffectSounds
 
static Dictionary< HeavyLevel, float > HeavyLevel2HandFactor
 
static Dictionary< HeavyLevel, float > HeavyLevel2BreakDefFactor
 
static Dictionary< HeavyLevel, float > HeavyLevel2RecoilFactor
 
static Dictionary< HeavyLevel, float > HeavyLevel2KOFactor
 
static Dictionary< HeavyLevel, float > HeavyLevel2LogicHit
 
static bool PrimaryHandToSecondaryHandPhase1 = false
 
static bool PrimaryHandToSecondaryHandPhase2 = false
 
static bool PrimaryHandToSecondaryHandPhase3 = false
 

Protected Member Functions

void Awake ()
 
void Start ()
 
void Reset ()
 
void OnDestroy ()
 
void LateUpdate ()
 
void DoGrab (InteractHand hand, AttachObj attach)
 
void DoUnGrab (InteractHand hand, AttachObj attach)
 

Protected Attributes

InteractHand primaryHand
 
InteractHand secondaryHand
 
float leaveTime
 
bool ibTied = false
 
bool handPowerHi = true
 
bool twoHandedZOrder = true
 
bool twoHandedRevertOrder = false
 
bool isShowingGrab = false
 
bool isEquipmentOverlap = false
 

Properties

int ForgeLevel [get]
 

Events

System.Action< AttachObj, bool > GrabBeginEvent
 
System.Action< AttachObj, bool > GrabEvent
 
System.Action< SlotTrigger, bool > SlotBeginEvent
 
System.Action< SlotTrigger, bool > SlotEvent
 
System.Action< bool > EquipmentOverlapEvent
 
System.Action< bool > BoostEvent
 
System.Action< InteractHand, float > CallEvent
 
System.Action< InteractHandCallBeginEvent
 
System.Action CallEndEvent
 
System.Action< AttachObj, bool > TriggerEvent
 
System.Action< InteractBaseEnhanceEvent
 
System.Action< SavePointMgr.WeaponSaveDataSaveEvent
 
System.Action OnSaleEvent
 
System.Action OnBuyEvent
 

Member Data Documentation

◆ deadEffectSounds

string [] CrossLink.InteractBase.deadEffectSounds
static
Initial value:
= new string[] {
"Magic/Explode01",
"Magic/Explode02",
"Magic/Explode03",
"Magic/Explode04",
}

◆ HeavyLevel2BreakDefFactor

Dictionary<HeavyLevel, float> CrossLink.InteractBase.HeavyLevel2BreakDefFactor
static
Initial value:
= new Dictionary<HeavyLevel, float>() {
{ HeavyLevel.VeryLight, 0.5f},
{ HeavyLevel.Light, 0.9f},
{ HeavyLevel.Normal, 1.15f},
{ HeavyLevel.Heavy, 1.8f},
{ HeavyLevel.VeryHeavy, 2.5f},
}

◆ HeavyLevel2HandFactor

Dictionary<HeavyLevel, float> CrossLink.InteractBase.HeavyLevel2HandFactor
static
Initial value:
= new Dictionary<HeavyLevel, float>() {
{ HeavyLevel.VeryLight, 0.2f},
{ HeavyLevel.Light, 0.3f},
{ HeavyLevel.Normal, 0.5f},
{ HeavyLevel.Heavy, InteractMgr.NORMAL_HAND_POWER },
{ HeavyLevel.VeryHeavy, InteractMgr.NORMAL_HAND_POWER },
}

◆ HeavyLevel2KOFactor

Dictionary<HeavyLevel, float> CrossLink.InteractBase.HeavyLevel2KOFactor
static
Initial value:
= new Dictionary<HeavyLevel, float>() {
{ HeavyLevel.VeryLight, 0.02f},
{ HeavyLevel.Light, 0.05f},
{ HeavyLevel.Normal, 0.1f},
{ HeavyLevel.Heavy, 0.3f},
{ HeavyLevel.VeryHeavy, 0.6f},
}

◆ HeavyLevel2LogicHit

Dictionary<HeavyLevel, float> CrossLink.InteractBase.HeavyLevel2LogicHit
static
Initial value:
= new Dictionary<HeavyLevel, float>() {
{ HeavyLevel.VeryLight, 1f},
{ HeavyLevel.Light, 2f},
{ HeavyLevel.Normal, 3f},
{ HeavyLevel.Heavy, 4f},
{ HeavyLevel.VeryHeavy, 8f},
}

◆ HeavyLevel2RecoilFactor

Dictionary<HeavyLevel, float> CrossLink.InteractBase.HeavyLevel2RecoilFactor
static
Initial value:
= new Dictionary<HeavyLevel, float>() {
{ HeavyLevel.VeryLight, 0.2f},
{ HeavyLevel.Light, 0.2f},
{ HeavyLevel.Normal, 0.24f},
{ HeavyLevel.Heavy, 0.3f},
{ HeavyLevel.VeryHeavy, 0.4f},
}