public override void DoAction(PEActionParam para = null) { if (null == skillCmpt || null == sword) { return; } PEActionParamVVNN paramVVNN = para as PEActionParamVVNN; trans.position = paramVVNN.vec1; m_AttackDir = paramVVNN.vec2; if (m_AttackDir == Vector3.zero) { m_AttackDir = trans.forward; } m_CombTime = paramVVNN.n1; m_AttackModeIndex = paramVVNN.n2; ApplySkill(); anim.ResetTrigger("ResetFullBody"); anim.SetBool("AttackLand", false); motionMgr.SetMaskState(PEActionMask.SwordAttack, true); m_WaitInput = false; m_TstAttack = false; m_EndAction = false; OnStartAttack(); }
public override bool CanDoAction(PEActionParam para = null) { if (motionMgr.IsActionRunning(PEActionType.Build)) { PeTipMsg.Register(PELocalization.GetString(9500246), PeTipMsg.EMsgLevel.Warning); return(false); } PEActionParamDrive paramDrive = para as PEActionParamDrive; m_DrivingController = paramDrive.controller; if (m_DrivingController == null) { return(false); } ItemAsset.ItemObject item = m_DrivingController.itemObject; if (item != null && skillTreeMgr != null && RandomMapConfig.useSkillTree) { if (!skillTreeMgr.CheckDriveEnable(item.protoData.itemClassId, item.protoData.level)) { return(false); } } return(true); }
public override void DoAction(PEActionParam para = null) { motionMgr.SetMaskState(PEActionMask.GetOnTrain, true); PEActionParamS paramS = para as PEActionParamS; mAnim = paramS.str; if (null != equipCmpt) { equipCmpt.HideEquipmentByVehicle(true); } if (!string.IsNullOrEmpty(mAnim) && null != anim) { anim.SetBool(mAnim, true); } if (null != viewCmpt) { viewCmpt.ActivateInjured(false); } if (null != ikCmpt) { ikCmpt.ikEnable = false; } if (motionMgr.Entity == MainPlayer.Instance.entity) { PeCamera.SetBool("OnMonorail", true); } }
public override void DoAction(PEActionParam para) { if (null == mRopeGun) { return; } if (!viewCmpt.hasView) { return; } m_LastHookPos = mRopeGun.hook.position; motionMgr.SetMaskState(PEActionMask.RopeGunShoot, true); mState = HookGunState.Shooting; m_ShootDir = (ikCmpt.aimTargetPos - mRopeGun.gunMuzzle.position).normalized; m_CurrentMoveIndex = 0; PeCamera.SetFloat("Sensitivity Multiplier", 0); AudioManager.instance.Create(mRopeGun.gunMuzzle.position, mRopeGun.fireSound); // Collider[] hitInfos = Physics.OverlapSphere(mRopeGun.gunMuzzle.position, 0.2f, mRopeGun.effectLayer.value, QueryTriggerInteraction.Ignore); // for(int i = 0; i < hitInfos.Length; ++i) // { // if(!hitInfos[i].transform.IsChildOf(entity.transform)) // { // mState = HookGunState.Null; // return; // } // } }
public override void DoAction(PEActionParam para = null) { if (null == skillCmpt || null == gun) { return; } PEActionParamB paramB = para as PEActionParamB; m_EndAfterShoot = paramB.b; m_EndFire = false; m_HoldFireTime = 0; switch (gun.m_ShootMode) { case ShootMode.SingleShoot: case ShootMode.MultiShoot: if (gun.m_AmmoType == AmmoType.Bullet) { if (gun.magazineValue > 0) { if (Time.time - m_LastShootTime > gun.m_FireRate) { OnFire(1); } } else { if (m_IgnoreItem || (null != packageCmpt && packageCmpt.GetItemCount(gun.curItemID) > 0)) { PEActionParamN param = PEActionParamN.param; param.n = gun.curAmmoItemIndex; motionMgr.DoAction(PEActionType.GunReload, param); } else { skillCmpt.StartSkill(skillCmpt, gun.m_DryFireSoundID); } //audiomanager.instance.create(gun.m_aimattr.m_aimtrans.position, // gun.m_dryfiresoundid, // gun.m_aimattr.m_aimtrans); } } else { if (gun.magazineValue >= gun.m_EnergyPerShoot) { if (Time.time - m_LastShootTime > gun.m_FireRate) { OnFire(gun.m_EnergyPerShoot); } } else { AudioManager.instance.Create(gun.m_AimAttr.m_AimTrans.position, gun.m_DryFireSoundID, gun.m_AimAttr.m_AimTrans); } } break; } }
public override bool CanDoAction(PEActionParam para = null) { if (null == skillCmpt || null == gun || null == entity) { return(false); } if (gun.durability <= PETools.PEMath.Epsilon) { entity.SendMsg(EMsg.Action_DurabilityDeficiency); return(false); } if (m_IgnoreItem) { return(true); } if (gun.m_AmmoType == AmmoType.Bullet) { return(true); } else if (gun.magazineValue >= gun.m_EnergyPerShoot) { return(true); } return(false); }
public override void DoAction(PEActionParam para = null) { motionMgr.SetMaskState(PEActionMask.OnVehicle, true); PEActionParamDrive paramDrive = para as PEActionParamDrive; m_DrivingController = paramDrive.controller; int seatIndex = paramDrive.seatIndex; m_DrivingController.GetOn(motionMgr.Entity, seatIndex); motionMgr.FreezePhyState(GetType(), true); motionMgr.FreezeCol = true; if (null != ikCmpt) { ikCmpt.ikEnable = false; } if (null != equipCmpt) { equipCmpt.HideEquipmentByVehicle(true); } if (null != motionMgr.Entity.biologyViewCmpt) { motionMgr.Entity.biologyViewCmpt.ActivateInjured(false); } motionMgr.Entity.SendMsg(EMsg.Action_GetOnVehicle, true, m_DrivingController); }
public override void DoAction(PEActionParam para = null) { if (null != skillCmpt) { if (skillCmpt.GetAttribute(AttribType.Hp) < 1) { skillCmpt.SetAttribute(AttribType.Hp, 1f); } skillCmpt.SetAttribute(AttribType.Oxygen, skillCmpt.GetAttribute(AttribType.OxygenMax)); skillCmpt.SetAttribute(AttribType.Stamina, skillCmpt.GetAttribute(AttribType.StaminaMax)); } motionMgr.SetMaskState(PEActionMask.Revive, true); motionMgr.FreezePhyState(GetType(), true); motionMgr.Entity.SendMsg(EMsg.State_Revive); PEActionParamB paramB = para as PEActionParamB; bool immediately = paramB.b; if (null != viewCmpt) { viewCmpt.DeactivateRagdoll(immediately); viewCmpt.ActivateInjured(false); } }
public override void DoAction(PEActionParam para = null) { PEActionParamVQSN paramVQSN = para as PEActionParamVQSN; motionMgr.SetMaskState(PEActionMask.Sit, true); m_EndAction = false; if (null != trans) { trans.position = paramVQSN.vec; trans.rotation = paramVQSN.q; } if (null != anim) { m_AnimName = paramVQSN.str; anim.SetBool(m_AnimName, true); anim.ResetTrigger("ResetFullBody"); } m_BuffID = paramVQSN.n; if (0 != m_BuffID && null != motionMgr.Entity.skEntity) { PESkEntity.MountBuff(motionMgr.Entity.skEntity, m_BuffID, new System.Collections.Generic.List <int>(), new System.Collections.Generic.List <float>()); } motionMgr.FreezePhyState(GetType(), true); if (null != motionMgr.Entity.IKCmpt) { motionMgr.Entity.IKCmpt.ikEnable = false; } }
public override bool CanDoAction(PEActionParam para = null) { PEActionParamS paramS = para as PEActionParamS; string animStr = paramS.str; return(!string.IsNullOrEmpty(animStr) && animStr != "0"); }
public override void DoAction(PEActionParam para = null) { motionMgr.SetMaskState(PEActionMask.JetPack, true); m_MoveDir = Vector3.zero; if (null != jetPack) { jetPack.m_EffectObj.SetActive(true); if (0 != jetPack.m_StartSoundID && null != jetPack.m_EffectObj) { m_Audio = AudioManager.instance.Create(jetPack.m_EffectObj.transform.position, jetPack.m_StartSoundID, jetPack.m_EffectObj.transform); } } if (null != jetPackLogic && null != m_PhyCtrl) { m_PhyCtrl.ResetSpeed(jetPackLogic.m_BoostHorizonalSpeed); m_PhyCtrl.desiredMovementDirection = m_PhyCtrl.currentDesiredMovementDirection; } motionMgr.StartCoroutine(ChangeAudio()); if (null != anim) { anim.ResetTrigger("EndJump"); } }
public override void DoAction(PEActionParam para = null) { if (null == m_Axe) { return; } motionMgr.SetMaskState(PEActionMask.Fell, true); m_EndAction = false; m_EndAnim = false; if (null != anim) { anim.ResetTrigger("ResetFullBody"); anim.SetBool(m_Axe.fellAnim, true); } m_FixTime = 3f; ApplyStaminaCost(); if (null != startFell) { startFell(treeInfo._treeInfo); } if (null != hpChange) { hpChange(treeInfo._treeInfo, SkEntitySubTerrain.Instance.GetTreeHP(treeInfo.WorldPos) / MaxHp); } }
public override void DoAction(PEActionParam para = null) { if (null != digTool) { motionMgr.SetMaskState(digTool.m_DigMask, true); m_AnimName = digTool.m_AnimName; anim.ResetTrigger("ResetFullBody"); anim.SetBool(m_AnimName, true); m_EndDig = false; m_EndAnim = false; } m_DigPos = m_CurrentPos; if (null != m_PhyCtrl) { m_PhyCtrl.m_SubAcc = Vector3.down; } m_FirstDig = true; ApplyStaminaCost(); }
public void DoActionImmediately(PEActionType type, PEActionParam para = null) { if (HasAction(type)) { if (IsActionRunning(type)) { m_ActionDic[(int)type].ResetAction(para); } else { if (null != m_SkEntity._net) { ((SkNetworkInterface)m_SkEntity._net).SendDoAction(type, para); } ActionRelationData data = ActionRelationData.GetData(type); if (null != onActionStart) { onActionStart(type); } RunningAction runningAction = GetRunningAction(); runningAction.Do(m_ActionDic[(int)type], data, para, true); m_RunningAction[(int)type] = runningAction; } } }
public override void DoAction(PEActionParam para = null) { if (null == trans || null == m_Param) { return; } m_IsBlockRepulsed = motionMgr.IsActionRunning(PEActionType.HoldShield) && Vector3.Angle(-entity.forward, m_MoveDir) < 30f; PEActionParamVVF paramVVF = PEActionParamVVF.param; motionMgr.SetMaskState(PEActionMask.Repulsed, true); trans.position = (trans.position + paramVVF.vec1) / 2f; m_MoveDir = paramVVF.vec2; m_MoveDir = Vector3.ProjectOnPlane(m_MoveDir, trans.existent.up).normalized; m_ForcePower = paramVVF.f * (m_IsBlockRepulsed ? BlockForceScale : 1f); m_AddForceTrans = m_Param.m_ApplyWentflyBone; m_MoveVelocity = m_Param.m_ForceToVelocity.Evaluate(m_ForcePower); m_MoveTime = m_Param.m_ForceToMoveTime.Evaluate(m_ForcePower); m_MoveStopTime = m_Param.m_ApplyMoveStopTime.Evaluate(m_ForcePower); m_WentflyTime = m_Param.m_WentflyTimeCurve.Evaluate(m_ForcePower); m_ElapseTime = 0f; m_ApplyStopEffect = false; if (null != anim) { anim.SetFloat("SheildBlockF", m_IsBlockRepulsed ? 1f: 0f); } if (null != m_Move) { m_Move.ApplyForce(m_MoveVelocity * m_MoveDir, ForceMode.VelocityChange); } }
public override void DoAction(PEActionParam para = null) { if (null == viewCmpt) { return; } motionMgr.SetMaskState(PEActionMask.Wentfly, true); PEActionParamVFNS paramVFNS = para as PEActionParamVFNS; Vector3 force = paramVFNS.vec * paramVFNS.f; PeEntity entity = EntityMgr.Instance.Get(paramVFNS.n); motionMgr.FreezePhyState(GetType(), true); if (null != entity) { Transform hitColTran = entity.biologyViewCmpt.GetRagdollTransform(paramVFNS.str); if (null != hitColTran) { RagdollHitInfo hitInfo = new RagdollHitInfo(); hitInfo.hitTransform = hitColTran; hitInfo.hitPoint = hitColTran.position; hitInfo.hitForce = force; hitInfo.hitNormal = -force.normalized; viewCmpt.ActivateRagdoll(hitInfo, false); } } if (null != phyCtrl) { phyCtrl.desiredMovementDirection = Vector3.zero; phyCtrl.CancelMoveRequest(); } }
public override bool CanDoAction(PEActionParam para = null) { if (null != jetPackLogic && jetPackLogic.enCurrent >= jetPackLogic.m_EnergyThreshold) { return(true); } return(false); }
public bool DoAction(PEActionType type, PEActionParam para) { if (m_Motion != null) { return(m_Motion.DoAction(type, para)); } return(false); }
public override bool CanDoAction(PEActionParam para = null) { if (null != waterPitcher && null != skillCmpt && null != trans) { return(VFVoxelWater.self.IsInWater(trans.position)); } return(false); }
public override void DoAction(PEActionParam para = null) { if (null != anim) { anim.SetTrigger("BeHit"); } motionMgr.SetMaskState(PEActionMask.Whacked, true); }
public override bool CanDoAction(PEActionParam para = null) { if (null != waterPump && null != skillCmpt && null != waterPump.m_AimAttr.m_AimTrans) { return(VFVoxelWater.self.IsInWater(waterPump.m_AimAttr.m_AimTrans.position)); } return(false); }
public override bool CanDoAction(PEActionParam para = null) { if (m_IgnoreItem) { return(true); } return(null != packageCmpt && null != bow && packageCmpt.GetItemCount(bow.curItemID) > 0); }
public override void DoAction(PEActionParam para = null) { if (null != anim) { anim.ResetTrigger("ResetFullBody"); anim.SetTrigger("Gather"); } motionMgr.SetMaskState(PEActionMask.PickUpItem, true); }
public override bool CanDoAction(PEActionParam para = null) { if (null != glider && null != m_PhyCtrl) { return(m_PhyCtrl.velocity.y < glider.m_TurnOnSpeed); } return(false); }
public override void DoAction(PEActionParam para = null) { motionMgr.SetMaskState(PEActionMask.Stuned, true); if (null != anim) { anim.speed = 0f; } }
public override void DoAction(PEActionParam para = null) { if (null != anim) { anim.ResetTrigger("ResetFullBody"); anim.SetTrigger("Gather"); } m_EndAnim = false; }
public override bool StartOperate(IOperator oper, EOperationMask mask, PEActionParam para) { Operation_Single single = GetStartOperate(mask); if (single != null) { return(single.StartOperate(oper, mask, para)); } return(false); }
public override void DoAction(PEActionParam para = null) { if (null == anim || null == aimAbleEquip) { return; } base.DoAction(para); InitAimPoint(); }
public override void ResetAction(PEActionParam para = null) { if (null != viewCmpt) { if (!viewCmpt.IsRagdoll) { viewCmpt.ActivateRagdoll(null, false); } } }
public override bool Do(IOperator oper, PEActionParam para) { bool execRusult = oper.DoAction(PEActionType.Sleep, para); if (execRusult && mCurSleep != null) { mCurSleep.AddOperator(oper); } return(execRusult); }