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.InteractTail, and CrossLink.InteractWeapon.

Public Types

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

Public Member Functions

void OnLocalBindFinish ()
 
Vector3 GetLastVelocity ()
 
Vector3 GetLocalVelocity ()
 
void TapWeaponHangingTime ()
 
bool IsWeaponHanging ()
 
void MulplyDurabulity (float mlp)
 
int GetDuralityMax ()
 
bool StillHasEngouthDurability ()
 
string GetDuralityDisplay ()
 
virtual void CostDurability (int cost=1, bool costByUsing=true, bool local=false, System.Action deadCallback=null)
 
bool IsBrokwnWarning ()
 
bool IsBreakable ()
 
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 local=false)
 
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 SetAllRenderers (bool show)
 
List< Renderer > GetAllRenderers (bool force=false)
 
void SetDissolveEffect ()
 
void SetDissolveIntensity (float intensity)
 
void RemoveDissolveEffect ()
 
void StopDissolveEffect ()
 
bool IsEnchantble ()
 
void StartEnchanting (string name)
 
void OnEnchanting (float progress)
 
void StopEnchanting ()
 
void EnchantEffectColor (List< ParticleSystemRenderer > renderers, float progress)
 
bool IsOnEnchanting ()
 
void Enchant (InteractTriggerX trig, float dura=10, int count=3, string loopName=null, string endName=null)
 
void OnEnchantSkillByStab (StabObject.StabInfo si)
 
void EnchantOther (InteractBase ib, bool remainTime=false)
 
bool IsOnEnchant ()
 
Enchanter GetEnchanter ()
 
void OnEnchantSkillWithPlayer (Collision collision, InteractCharacter character)
 
void OnEnchantSkillWithPlayer (Rigidbody rb, Collider thisCol, Collider otherCol, Vector3 point, Vector3 normal, Vector3 relaVel, InteractCharacter character)
 
void DoEnchantSkillWithPlayer (Rigidbody rb, Collider thisCol, Collider otherCol, Vector3 point, Vector3 normal, Vector3 relaVel, InteractCharacter character)
 
void DoEnchantSkill (FullCharacterControl fc, RagdollMuscle mu, Collider thisCol, Rigidbody otherRB, Collider otherCol, Vector3 point, Vector3 normal, Vector3 relaVel)
 
void EnchantSkillCountUpdate ()
 
void EnchantEnd ()
 
void RemoveEnchant ()
 
void RefleshEnchantEffect ()
 
void RemoveEnchantEffect (List< EffectObj > list)
 
List< EffectObjPlayEnchantEffect (string loopName)
 

Static Public Member Functions

static string GetNumValue (float num)
 

Public Attributes

Network.NetworkStateLibrary stateLibrary
 
Network.NetworkInteractBase networkIB
 
int netId = -1
 
int index = 0
 
System.Action OnIBDestroyEvent
 
System.Action OnIBEnableEvent
 
bool autoDisappearWhenDurableLow = true
 
int durability = 25
 
bool indestructible = false
 
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
 
List< System.Func< bool > > additionalDropUpdateConditions = new List<System.Func<bool>>()
 
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
 
bool decomposable = true
 
Enchanter enchanter
 
InteractTriggerX enchantTrig
 
List< Collider > enchantTriggerCols = null
 
List< Renderer > enchantRenderers
 
bool allowEnchantment = true
 
string initialEnchantName
 

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 OnEnable ()
 
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
 
System.Action EnchantStartEvent
 
System.Action EnchantEndEvent
 

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},
}