public void FinishDrag(Vector2Int coord) { if (selectedCell == null) { return; } var newCoord = currentCell.Coord; this[newCoord].SetHighlight(false); if (this[newCoord].CellCharacter == null) { // move this[newCoord].SetInfo(selectedCell.CellCharacter); selectedCell.Init(); } else if (newCoord != selectedCell.Coord && newCoord != selectedCell.Coord) { // change var changeCell = this[newCoord].CellCharacter; this[newCoord].SetInfo(selectedCell.CellCharacter); selectedCell.SetInfo(changeCell); } selectedCell = null; currentCell = null; }
public void EnterCell(Vector2Int coord) { currentCell = this[coord]; if (selectedCell != null) { // highlight this[coord].SetHighlight(true); } }
public void BeginDrag(Vector2Int coord) { if (this[coord].CellCharacter == null) { return; } selectedCell = this[coord]; currentCell = this[coord]; this[coord].SetHighlight(true); }
public void InitBoard(Level level) { foreach (var enemyDeckCell in enemyDeckCells) { enemyDeckCell.Init(); } // 플레이어 저장 데이터에 현재 전투 중인 몬스터 정보가 없으면 새로 저장, 덱 셀에 입력 if (!GameData.Instance.playerInfo.monsters.Any()) { for (int i = 0; i < level.monstersPos.Length; ++i) { var characterInfo = GameData.Instance.CharacterInfos[level.monsters[i]]; Character character = new Character(characterInfo); GameData.Instance.playerInfo.monsters.Add(character); enemyDeckCells[level.monstersPos[i]].SetInfo(character); } } else { // TODO: current hp가 반영된, character 정보로 셋팅하도록 수정 // 덱 셀에 입력 for (int i = 0; i < level.monstersPos.Length; ++i) { Character character = GameData.Instance.playerInfo.monsters[i]; enemyDeckCells[level.monstersPos[i]].SetInfo(character); } } foreach (var heroDeckCell in heroDeckCells) { heroDeckCell.Init(); } currentCell = null; selectedCell = null; // 저장 GameData.Instance.SavePlayerData(); }