string WalkingSpeed(string param) { if (param == "") { return("Parameter excepted"); } if (Pathea.PeCreature.Instance == null) { return("Not in game"); } if (Pathea.PeCreature.Instance.mainPlayer == null) { return("Not in game"); } HumanPhyCtrl hpc = Pathea.PeCreature.Instance.mainPlayer.GetComponentInChildren <HumanPhyCtrl>(); if (hpc == null) { return("HumanPhyCtrl not exist"); } float s = 1; if (!float.TryParse(param, out s)) { return("Invalid parameter"); } hpc.mSpeedTimes = s; //hpc.ResetSpeed(5*s); return("ok"); }
public void Reset() { modelController = PEUtil.GetCmpt <PEModelController>(transform); ragdollController = PEUtil.GetCmpt <PERagdollController>(transform); ikArray = PEUtil.GetCmpts <IK>(transform); ikFlashLight = PEUtil.GetCmpt <IKFlashLight>(transform); fbbik = PEUtil.GetCmpt <FullBodyBipedIK>(transform); grounderFBBIK = PEUtil.GetCmpt <GrounderFBBIK>(transform); humanPhyCtrl = PEUtil.GetCmpt <HumanPhyCtrl>(transform); ikAimCtrl = PEUtil.GetCmpt <IKAimCtrl>(transform); ikAnimEffectCtrl = PEUtil.GetCmpt <IKAnimEffectCtrl>(transform); ikDrive = PEUtil.GetCmpt <IKDrive>(transform); defenceTrigger = PEUtil.GetCmpt <PEDefenceTrigger>(transform); pathFinder = PEUtil.GetCmpt <PEPathfinder>(transform); motor = PEUtil.GetCmpt <PEMotor>(transform); steerAgent = PEUtil.GetCmpt <Steer3D.SteerAgent>(transform); animFollow_AF = PEUtil.GetCmpt <AnimFollow_AF>(transform); beatParam = PEUtil.GetCmpt <BeatParam>(transform); moveParam = PEUtil.GetCmpt <MoveParam>(transform); barrelController = PEUtil.GetCmpt <PEBarrelController>(transform); billBoard = PEUtil.GetCmpt <BillBoard>(transform); armorBones = PEUtil.GetCmpt <ArmorBones>(transform); visions = PEUtil.GetCmpts <PEVision>(transform); hears = PEUtil.GetCmpts <PEHearing>(transform); native = PEUtil.GetCmpt <PENative>(transform); monster = PEUtil.GetCmpt <PEMonster>(transform); if (null != modelController) { modelController.ResetModelInfo(); } if (null != animFollow_AF) { animFollow_AF.ResetModelInfo(); } if (null != ragdollController) { ragdollController.ResetRagdoll(); } }
public void OnMsg(EMsg msg, params object[] args) { switch (msg) { case EMsg.View_Prefab_Build: BiologyViewRoot viewRoot = args[1] as BiologyViewRoot; m_Param = viewRoot.beatParam; m_PhyCtrl = viewRoot.humanPhyCtrl; m_IKAnimCtrl = viewRoot.ikAnimEffectCtrl; m_Repulsed.phyCtrl = m_PhyCtrl; m_Wentfly.phyCtrl = m_PhyCtrl; m_Knocked.phyCtrl = m_PhyCtrl; m_Repulsed.m_Param = m_Param; break; // case EMsg.View_Ragdoll_Getup_Finished: // if(null != m_Wentfly && m_MotionMgr.IsActionRunning(m_Wentfly.ActionType)) // m_MotionMgr.EndImmediately(m_Wentfly.ActionType); // m_MotionMgr.EndImmediately(m_Revive.ActionType); // m_MotionMgr.EndImmediately(m_GetUp.ActionType); // m_MotionMgr.EndImmediately(m_Knocked.ActionType); // break; case EMsg.View_Ragdoll_Fall_Finished: if (null != m_PhyCtrl) { m_PhyCtrl.grounded = true; } break; case EMsg.Battle_AttackHit: if (null != onHitTarget) { PeEntity hitEntity = ((PECapsuleHitResult)args[0]).hitTrans.GetComponentInParent <PeEntity>(); onHitTarget(hitEntity); } break; } }
public void OnMsg(EMsg msg, params object[] args) { switch (msg) { case EMsg.View_Prefab_Build: BiologyViewCmpt obj = args [0] as BiologyViewCmpt; // TestHitBack hitBack = obj.GetComponentInChildren<TestHitBack> (); // if (null != hitBack) { // hitBack.cam = Camera.main; // obj.transform.position += 1.3f * Vector3.up; // } m_PhyCtrl = obj.monoPhyCtrl; if (obj.monoModelCtrlr != null) { _camTarget = obj.monoModelCtrlr.transform.Find("CamTarget"); } if (obj.monoModelCtrlr != null) { _bneckModel = obj.monoModelCtrlr.transform.Find("Bip01/Bip01 Pelvis/Bip01 Spine1/Bip01 Spine2/Bip01 Spine3/Bip01 Neck"); } if (obj.monoRagdollCtrlr != null) { _bneckRagdoll = obj.monoRagdollCtrlr.transform.Find("Bip01/Bip01 Pelvis/Bip01 Spine1/Bip01 Spine2/Bip01 Spine3/Bip01 Neck"); } if (null != UILoadScenceEffect.Instance && UILoadScenceEffect.Instance.isInProgress) { StartInvincible(); } InitReputationSystem(); Invoke("ResetFirstCtrl", 1f); break; //case EMsg.View_Model_Build: // break; case EMsg.Camera_ChangeMode: PeCamera.cameraModeData = args [0] as CameraModeData; break; case EMsg.Battle_EnterShootMode: m_InShootMode = true; if (null != TestPEEntityCamCtrl.Instance && null != mView.modelTrans) { TestPEEntityCamCtrl.Instance.SetCamMode(PETools.PEUtil.GetChild(mView.modelTrans, "CamTarget"), PETools.PEUtil.GetChild(mView.modelTrans, "Bip01 Neck"), "3rd Person Shoot"); } if (null != UISightingTelescope.Instance) { UISightingTelescope.Instance.Show((UISightingTelescope.SightingType)args [0]); } //lz-2018.01.18 改变持枪状态,改变相机灵敏度的返回值 SystemSettingData.Instance.holdGun = true; break; case EMsg.Battle_ExitShootMode: m_InShootMode = false; if (null != TestPEEntityCamCtrl.Instance) { TestPEEntityCamCtrl.Instance.SetCamMode(PETools.PEUtil.GetChild(mView.modelTrans, "CamTarget"), PETools.PEUtil.GetChild(mView.modelTrans, "Bip01 Neck"), "Normal Mode F1"); } if (null != UISightingTelescope.Instance) { UISightingTelescope.Instance.ExitShootMode(); } SystemSettingData.Instance.holdGun = false; break; case EMsg.Battle_OnShoot: if (null != UISightingTelescope.Instance) { UISightingTelescope.Instance.OnShoot(); } break; case EMsg.UI_ShowChange: m_DisableActionByUI = (bool)args [0]; if (m_DisableActionByUI && mEquip.ISAimWeapon) { mEquip.ActiveWeapon(false); // for(PEActionType type = PEActionType.Move; type <= PEActionType.Stuned; type++) // mMotionMgr.EndImmediately(type); } break; case EMsg.Build_BuildMode: bool enterBuildMode = (bool)args [0]; if (enterBuildMode) { GameUIMode.Instance.GotoBuildMode(); } else { GameUIMode.Instance.GotoBaseMode(); } PeCamera.SetVar("Build Mode", enterBuildMode); if (null != onBuildMode) { onBuildMode(enterBuildMode); } break; case EMsg.Battle_OnAttack: if (null != onEquipmentAttack) { onEquipmentAttack((int)args [2]); } PeEventGlobal.Instance.MainPlayerAttack.Invoke(Entity, (AttackMode)args [0]); break; //case EMsg.Battle_HPChange: // SkEntity skEntity = (SkEntity)args[0]; // float damage = (float)args[1]; // if (skEntity != null && damage < PETools.PEMath.Epsilon) // { // OnDamage(skEntity, Mathf.Abs(damage)); // } // break; case EMsg.Action_DurabilityDeficiency: if (null != onDurabilityDeficiency) { onDurabilityDeficiency(); } break; } }
protected IEnumerator ProcPostBoneLoad() { //biologyViewRoot.gameObject.SetActive (false); if (monoPhyCtrl == null) { monoPhyCtrl = biologyViewRoot.humanPhyCtrl; } if (monoIKAimCtrl == null) { monoIKAimCtrl = biologyViewRoot.ikAimCtrl; } if (monoIKAnimCtrl == null) { monoIKAnimCtrl = biologyViewRoot.ikAnimEffectCtrl; } if (monoModelCtrlr == null) { monoModelCtrlr = biologyViewRoot.modelController; } if (monoRagdollCtrlr == null) { monoRagdollCtrlr = biologyViewRoot.ragdollController; } if (monoDefenceTrigger == null) { monoDefenceTrigger = biologyViewRoot.defenceTrigger; } m_MeshBuildEnd = false; if (monoRagdollCtrlr != null) { monoRagdollCtrlr.SetHandler(this); //EMsg.View_Ragdoll_Build } // Collider ignore and other if (monoModelCtrlr != null) { SetupMaterials(mColorID, GetModelName()); if (Entity.proto == EEntityProto.Monster && Entity.Race == ERace.Mankind) { monoModelCtrlr.gameObject.layer = Layer.AIPlayer; } PEUtil.IgnoreCollision(monoModelCtrlr.colliders, monoModelCtrlr.colliders); if (monoRagdollCtrlr != null) { PEUtil.IgnoreCollision(monoModelCtrlr.colliders, monoRagdollCtrlr.colliders); } } BuildOutCollider(biologyViewRoot.gameObject); if (Entity.IsDeath()) { OnDeath(null, null); } else if (monoModelCtrlr != null) { monoModelCtrlr.ActivateDeathMode(false); } HideView(0.01f); if (Entity.Id == 9008) { ActivatePhysics(m_PhyActive); } DoActivateInjured(); yield return(0); if (null == biologyViewRoot) { yield break; } // Proc Mesh if (_coroutineMeshProc != null) { yield return(biologyViewRoot.StartCoroutine(_coroutineMeshProc())); } m_MeshBuildEnd = true; if (null == biologyViewRoot) { yield break; } if (null == Entity) { yield break; } // Send Msg if (monoModelCtrlr != null) { Profiler.BeginSample("EMsg.View_Model_Build"); Entity.SendMsg(EMsg.View_Model_Build, monoModelCtrlr.gameObject, biologyViewRoot); Profiler.EndSample(); yield return(0); } if (null == biologyViewRoot) { yield break; } if (null == Entity) { yield break; } Profiler.BeginSample("EMsg.View_Prefab_Build"); Entity.SendMsg(EMsg.View_Prefab_Build, this, biologyViewRoot); Profiler.EndSample(); yield return(0); if (null == biologyViewRoot) { yield break; } //biologyViewRoot.gameObject.SetActive (true); biologyViewRoot.StartCoroutine(FadeInDelay(0.01f, 3.0f)); // Note: prev version use this Monobehavior(NOT ROOT) to start Coroutine }
public void OnMsg(EMsg msg, params object[] args) { switch (msg) { case EMsg.Skill_CheckLoop: SkFuncInOutPara funcInOut = args[0] as SkFuncInOutPara; if (null != funcInOut) { if (null != funcInOut._para) { string param = funcInOut._para as string; if (null != param && param == "SwordAttack") { if (null != m_TwoHandWeaponAttack.sword) { funcInOut._ret = m_TwoHandWeaponAttack.CheckContinueAttack(); } else if (null != m_SwordAttack.sword) { funcInOut._ret = m_SwordAttack.CheckContinueAttack(); } } } } break; case EMsg.View_Prefab_Build: BiologyViewCmpt obj = args[0] as BiologyViewCmpt; HumanPhyCtrl phyCtrl = obj.monoPhyCtrl; m_SwordAttack.phyMotor = phyCtrl; m_TwoHandWeaponAttack.phyMotor = phyCtrl; m_JetPackAction.m_PhyCtrl = phyCtrl; m_ParachuteAction.m_PhyCtrl = phyCtrl; m_GliderAction.m_PhyCtrl = phyCtrl; m_HeavyEquipmentCtrl.phyCtrl = phyCtrl; m_RopeGunAction.phyCtrl = phyCtrl; m_IKAimCtrl = obj.monoIKAimCtrl; m_GunFire.ikAim = m_IKAimCtrl; m_BowShoot.ikAim = m_IKAimCtrl; CheckGloves(); Invoke("ResetWeapon", 0.5f); break; case EMsg.View_Prefab_Destroy: DeletGloves(); break; case EMsg.Battle_OnShoot: if (null != m_Gun) { m_GunHold.OnFire(); } if (null != m_Bow) { m_BowHold.OnFire(); } break; case EMsg.View_FirstPerson: m_SwordAttack.firstPersonAttack = (bool)args[0]; m_TwoHandWeaponAttack.firstPersonAttack = (bool)args[0]; break; } }