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