Esempio n. 1
0
        public void Setup()
        {
            _chara = GetComponent <ICharaController>();

            // 初回実行
            Apply();
        }
Esempio n. 2
0
        public static RoomData FindRoomData(this TileDataMap self, ICharaController chara)
        {
            var pos = chara.Model.CellPosition.Value;

            if (self.TryGetRoomData(pos.x, pos.y, out var roomData))
            {
                return(roomData);
            }

            return(null);
        }
Esempio n. 3
0
        async UniTask <int> ISkillCalculater.ExecuteAsync(ICharaController unit, ICharaController target, SkillDamageEntity entity)
        {
            // 呼び出し
            CustomEvent.Trigger(gameObject, "Execute", this, entity, unit, target);

            // 終了するまで待機する
            if (!_isFinish)
            {
                await UniTask.WaitUntil(() => _isFinish);
            }

            return(_value);
        }
Esempio n. 4
0
 /// <summary>
 /// unitがopponentに与えるダメージを計算して返す
 /// </summary>
 public static long Calculate(ICharaController unit, ICharaController opponent)
 {
     // 今は単純に引くか
     return(Math.Max(unit.Status.TotalAttack - opponent.Status.TotalDefence, 0));
 }
Esempio n. 5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 public void SetModel(ICharaController chara) =>
 _chara = chara;
Esempio n. 6
0
 /// <summary>
 /// 初期処理
 /// </summary>
 void Awake()
 {
     _charaController = GetComponent <ICharaController>();
     _charaController.Model.AddPostProcess(this);
 }