} //NPCか否か /////////////////////////////////////////////////////////////////////////// // 公開関数 /////////////////////////////////////////////////////////////////////////// //データ設定=============================================================== public void Initialize(PlayerCharStateData aData) { //モデル変更 this.ModeChange(Database.obj.GetPlayerModel(aData.modelId)); //アンカー m_AncData = m_CouresAncs.GetAnc(0); m_AncDataGround = m_CouresAncs.GetAnc(0); //ステータス m_wait = aData.wait; m_Gravity = new GravityStatus(); m_Speed = new SpeedStatus(aData.accel, aData.turn, aData.maxSpeed); m_Jump = new JumpStatus(); m_Glider = new GliderStatus(); m_Heat = new HeatStatus(); m_Rack = RackState.READY; m_GoalData = new GoalData(); //ステート m_TrgState = new BoolArray32(false); m_NowState = new BoolArray32(false); InputStart(); //入力 CameraStart(); //カメラ SpeedStart(); //速度・方向 StartPhysics(); //重力やレイキャスト SpwanStart(); //復帰する処理用 TurnnStart(); //ターン GoalStart(); }
public ChangeAnimationSpeedCommand(AbstractCharacter invoker, SpeedStatus speedStatus) : base(invoker) { argValue = new AnimationSpeedValue <AbstractCharacter>(invoker, speedStatus); receivers.Add(invoker.NavigationController as IReceiver <AnimationSpeedValue <AbstractCharacter> >); receivers.Add(invoker.StatusController as IReceiver <AnimationSpeedValue <AbstractCharacter> >); }
public AnimationSpeedValue(T owner, SpeedStatus speedStatus) { this.speedStatus = speedStatus; var status = owner?.StatusController; multiplier = status.CalculationSpeedModificator(speedStatus); characterSpeed = status.CalculationCharacterSpeed(speedStatus); }
virtual protected void InstantDMGDelegate(Collider2D collision) { if (GameManager.CheckHostile(NPCinfo.tag, collision.tag)) { NPCBase target = collision.GetComponent <NPCBase>(); NPCinfo.DealDmg2Target(AADmg / cnt, target, DMGType.None); SpeedStatus tmp = target.GetComponent <SpeedStatus>(); if (tmp == null) { tmp = target.gameObject.AddComponent <SpeedStatus>(); tmp.duration = slowDuration; tmp.addSpeedMult = -slow; } } }
public void NormalSpeed() { speedStatus = SpeedStatus.Normal; pressInterval = normalSpeed; }
public void SpeedDown() { speedStatus = SpeedStatus.SpeedDown; pressInterval = speedDownSpeed; }
public void SpeedUp() { speedStatus = SpeedStatus.SpeedUp; pressInterval = speedUpSpeed; }
/////////////////////////////////////////////////////////////////////////// // 公開関数 /////////////////////////////////////////////////////////////////////////// //データ設定=============================================================== public void Initialize(PlayerCharStateData aData) { //モデル変更 this.ModeChange(Database.obj.GetPlayerModel(aData.modelId)); //アンカー m_AncData = m_CouresAncs.GetAnc(0); m_AncDataGround = m_CouresAncs.GetAnc(0); //ステータス m_wait = aData.wait; m_Gravity = new GravityStatus(); m_Speed = new SpeedStatus(aData.accel, aData.turn, aData.maxSpeed); m_Jump = new JumpStatus(); m_Glider = new GliderStatus(); m_Heat = new HeatStatus(); m_Rack = RackState.READY; m_GoalData = new GoalData(); //ステート m_TrgState = new BoolArray32(false); m_NowState = new BoolArray32(false); InputStart(); //入力 CameraStart(); //カメラ SpeedStart(); //速度・方向 StartPhysics(); //重力やレイキャスト SpwanStart(); //復帰する処理用 TurnnStart(); //ターン GoalStart(); }
private void Awake() { speedStatus = GetComponentInParent <SpeedStatus>(); GetComponent <Button>().onClick.AddListener(PressEvent); }
public float CalculationSpeedModificator(SpeedStatus speedStatus) { return(maxSpeed * speedModificator[speedStatus] / ConstSpeedModificator); }
public float CalculationCharacterSpeed(SpeedStatus speedStatus) { return(maxSpeed * speedModificator[speedStatus]); }