void IStage.Enter() { _Binder.Bind <ICastSkill>(this); _Player.SetSkillVelocity(_Caster.GetShiftDirection(), _Caster.GetShiftSpeed()); _Player.CastBegin(_Caster.Data.Id); _MoveController.Backward = _Caster.GetBackward(); _MoveController.Forward = _Caster.GetForward(); _MoveController.RunForward = _Caster.GetRunForward(); _MoveController.TurnLeft = _Caster.GetTurnLeft(); _MoveController.TurnRight = _Caster.GetTurnRight(); _Binder.Bind <IMoveController>(_MoveController); if (_Caster.CanDisarm()) { _Binder.Bind <IBattleSkill>(this); } _CastTimer.Reset(); _DatumPosition = _Player.GetPosition(); var strength = _Player.Strength(-_Caster.Data.StrengthCost); _Overdraft = strength < 0.0f; }
public float GetTrunSpeed() { if (_MoveController != null) { var status = _Entiry.GetStatus(); var skill = Resource.Instance.FindSkill(status); var caster = new SkillCaster(skill, new Determination(skill)); return(caster.GetTurnRight()); } return(0); }