Exemple #1
0
        public ActionCharacter(BattleStatus status, GroupId groupId, GroupTag tag, Vector pos, float gravity, float runSpeed, SkillHolder skillHolder, EquipItemHolder equipItemHolder)
        {
            CurrentState     = new Idle();
            Executioner      = new Executioner();
            CurrentPosition  = pos;
            Gravity          = gravity;
            SkillHolder      = skillHolder;
            PickupItemHolder = new PickupItemHolder();
            PickupItemHolder.OnPickedItem += UpdateBattleStatus;
            PickupItemHolder.OnPickedItem += UpdateRunMaxSpeed;
            EquipItemHolder = equipItemHolder;
            BaseStatus      = status;
            BattleCharacter = new BattleCharacter(this, BattleStatusCalculator.calculate(status, this));

            BasicRunMaxSpeed = runSpeed;

            RunMaxSpeed = SpeedCalculator.Calculate(BasicRunMaxSpeed, this);

            GroupId = groupId;

            GroupTag = tag;

            Id = Guid.NewGuid();

            IsInvincible = false;

            CurrentFriction = 0.0f;
        }
Exemple #2
0
        public BattleCharacter(ICharacterable owner, BattleStatus _status)
        {
            this.owner   = owner;
            BattleStatus = _status;
            //  現在HPを最大にしておく
            CurrentHitPoint = status.HitPoint;

            Stamina = new Stamina(BattleStatus.Stamina, BattleStatus.StaminaHealInterval, BattleStatus.StaminaHealValuePerInterval);
        }
Exemple #3
0
 public static BattleStatus calculate(BattleStatus basicStatus, ICharacterable characterable)
 {
     return(basicStatus + characterable.EquipItemHolder.GetBattleStatus() + characterable.PickupItemHolder.GetBattleStatus());
 }