private bool TryProcessMove() { if (CombatManager.Instance.IsAITurn()) { return(false); } else if (this._data.Target.Current == null && !GUIManager.Instance.GetGUILocked() && !GUIManager.Instance.GetInteractionLocked()) { if (!this._data.DoubleClick) { var data = new EvTileSelectData(); data.Target = this._data.Target; var e = new EvTileSelect(data); e.TryProcess(); return(true); } else { var data = new EvPathMoveData(); data.Target = this._data.Target; var path = new EvPathMoveUtil().GetPathMove(data); path.TryProcess(); return(true); } } else { return(false); } }
private void DoMove(CTile tile) { if (this._prevTiles.Contains(tile)) { this.EndTurn(null); } else { this._prevTiles.Add(tile); var data = new EvPathMoveData(); data.Char = this._agent; data.Target = tile; var path = new EvPathMoveUtil().GetPathMove(data); path.AddCallback(this.InitCallbackToDetermineAction, CALLBACK_PRIORITY); path.TryProcess(); } }