Example #1
0
    }                                                  //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);
        }
Example #4
0
 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;
         }
     }
 }
Example #5
0
 public void NormalSpeed()
 {
     speedStatus   = SpeedStatus.Normal;
     pressInterval = normalSpeed;
 }
Example #6
0
 public void SpeedDown()
 {
     speedStatus   = SpeedStatus.SpeedDown;
     pressInterval = speedDownSpeed;
 }
Example #7
0
 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();
    }
Example #9
0
 private void Awake()
 {
     speedStatus = GetComponentInParent <SpeedStatus>();
     GetComponent <Button>().onClick.AddListener(PressEvent);
 }
Example #10
0
 public float CalculationSpeedModificator(SpeedStatus speedStatus)
 {
     return(maxSpeed * speedModificator[speedStatus] / ConstSpeedModificator);
 }
Example #11
0
 public float CalculationCharacterSpeed(SpeedStatus speedStatus)
 {
     return(maxSpeed * speedModificator[speedStatus]);
 }