IEnumerator ProcessResult(EnumInfo.TeamType _winTeam, int _loseLife) { yield return(new WaitForSeconds(2f)); GameProgress.Instance.EndBattle(_winTeam, _loseLife); FinishBattle(); }
/// <summary> /// [레드팀 기준으로] /// 오른쪽->왼쪽 $$ /// 중간->안쪽 /// </summary> public Tile GetMoveAbleTile_ToLeft_ToBack(EnumInfo.TeamType _searchTeam) { Tile tileTemp = null; if (_searchTeam == EnumInfo.TeamType.Red) { for (int i = (_tileHeight / 2) - 1; i >= 0; i--) { for (int j = _tileWidth - 1; j >= 0; j--) { tileTemp = GetTile(j, i); if (!tileTemp.hasUnit) { return(tileTemp); } } } } else if (_searchTeam == EnumInfo.TeamType.Blue) { for (int i = _tileHeight / 2; i <= _tileHeight - 1; i++) { for (int j = _tileWidth - 1; j >= 0; j--) { tileTemp = GetTile(j, i); if (!tileTemp.hasUnit) { return(tileTemp); } } } } return(null); }
public Tile GetCreateAbleTile(EnumInfo.TeamType _teamTy) { Tile tileTemp = null; if (_teamTy == EnumInfo.TeamType.Red) { for (int i = 0; i < _tileHeight / 2; i++) { for (int j = _tileWidth - 1; j >= 0; j--) { tileTemp = GetTile(j, i); if (!tileTemp.hasUnit) { return(tileTemp); } } } } else if (_teamTy == EnumInfo.TeamType.Blue) { for (int i = _tileHeight - 1; i >= _tileHeight / 2; i--) { for (int j = 0; j < _tileWidth; j++) { tileTemp = GetTile(j, i); if (!tileTemp.hasUnit) { return(tileTemp); } } } } return(null); }
//어쌔신이 이동 가능한 타일 가져오기 /// <summary> /// [레드팀 기준으로] /// 왼쪽->오른쪽 $$ /// 맨 안쪽->중간 /// </summary> public Tile GetMoveAbleTile_ToRight_ToCenter(EnumInfo.TeamType _searchTeam) { Tile tileTemp = null; if (_searchTeam == EnumInfo.TeamType.Red) { for (int i = 0; i < _tileHeight / 2; i++) { for (int j = 0; j < _tileWidth; j++) { tileTemp = GetTile(j, i); if (!tileTemp.hasUnit) { return(tileTemp); } } } } else if (_searchTeam == EnumInfo.TeamType.Blue) { for (int i = _tileHeight - 1; i >= _tileHeight / 2; i--) { for (int j = 0; j < _tileWidth; j++) { tileTemp = GetTile(j, i); if (!tileTemp.hasUnit) { return(tileTemp); } } } } return(null); }
public void EndBattle(EnumInfo.TeamType _winTeam, int _discountLife) { _round++; SetPlayerInfoUI(true); UnitManager.Instance.FinishBattle(); TileManager._Instance.EndBattle(); if (_winTeam == EnumInfo.TeamType.Red) { _bluePlayer._Hp -= _discountLife; } else { _redPlayer._Hp -= _discountLife; } SetRoundUI(); if (_redPlayer._Hp <= 0) { EndGame(EnumInfo.TeamType.Blue); } else if (_bluePlayer._Hp <= 0) { EndGame(EnumInfo.TeamType.Red); } else { DrawRedPlayer(); } }
public void DrawRedPlayer() { _drawTeam = EnumInfo.TeamType.Red; SetBlind(false, true); _playerDrawManager.SetPlayerDraw(_redPlayer._DeckManager._Deck, EnumInfo.TeamType.Red, ActiveAddTurnButton); }
public void DrawBluePlayer() { _drawTeam = EnumInfo.TeamType.Blue; SetBlind(true, false); _playerDrawManager.SetPlayerDraw(_bluePlayer._DeckManager._Deck, EnumInfo.TeamType.Blue, ActiveAddTurnButton); }
public void Init(EnumInfo.TeamType _teamTy) { _teamType = _teamTy; _maxHp = 5; _hp = _maxHp; _deckManager.SetAllDeck(); }
public void SetUnitData(DeckData _deckDa, EnumInfo.TeamType _team) { _spawnTeam = _team; _deckData = _deckDa; _unitIdxText.text = _deckDa._unit.UnitName; _maxReinforceText.text = string.Format("최대 강화 [{0}]", _deckDa._unit.MaxReinforce); }
public void SetUnit(string _unitIdx, EnumInfo.TeamType _teamTy) { //UnitData _uniData= DataManager.Instance.GetUnitDataWithUnitIdx(_unitIdx); hasUnit = true; _unitIndex = UnitManager.Instance.CreateUnitWithUnitIdx(_unitIdx, this, _teamTy); _unitIndex.gameObject.SetActive(true); _unitIndex.SetTile(this); _tileSpriteRenderer.color = Color.black; _tileIndexType = TileIndexType.Unit; }
public void SetPlayerDraw(DeckData[] _playerDeck, EnumInfo.TeamType _drawTeam, System.Action _drawCall) { _nowPlayerDeck = _playerDeck; _nowTeam = _drawTeam; _canChoiceDecks = GetRandomDeck(_playerDeck); _reDrawButton.gameObject.SetActive(true); for (int i = 0; i < _unitCardUIs.Length; i++) { _unitCardUIs[i].gameObject.SetActive(true); _unitCardUIs[i].SetUnitData(_canChoiceDecks[i], _drawTeam); _unitCardUIs[i].CreateEvent += SelectDeckCall; } _drawFunc = _drawCall; }
public void InitUnit(EnumInfo.TeamType _tType) { _tr = transform; _unitData = DataManager.Instance.GetUnitDataWithUnitIdx(_unitIdx); _teamType = _tType; _stateMgr = GetComponentInChildren <StateManager>(); _animMgr = GetComponentInChildren <AnimManager>(); _behaviourMgr = GetComponentInChildren <BehaviourManager>(); _moveMgr = GetComponentInChildren <MoveManager>(); _seeker = GetComponentInChildren <Seeker>(); _stateMgr.InitStateMgr(this); _animMgr.InitAnimMgr(this); _behaviourMgr.InitBehaviourMgr(this); _moveMgr.InitMoveMgr(this); if (_unitData.DamageType.Equals("Physic")) { _normalDamage.Type = EnumInfo.DamageType.Physic; } else { _normalDamage.Type = EnumInfo.DamageType.Magic; } _normalDamage.DamagePower = _unitData.Damage; _normalDamage.ResourceUnit = this; if (_unitData.SkillDamageType.Equals("Physic")) { _skillDamage.Type = EnumInfo.DamageType.Physic; } else { _skillDamage.Type = EnumInfo.DamageType.Magic; } _skillDamage.DamagePower = _unitData.SkillDamage; _skillDamage.ResourceUnit = this; }
public Tile GetAssasinMoveTile(EnumInfo.TeamType _searchTeam, bool _startLeft, bool _startBack) { if (_startLeft && _startBack) { return(_tileGroup.GetMoveAbleTile_ToRight_ToCenter(_searchTeam)); } else if (!_startLeft && _startBack) { return(_tileGroup.GetMoveAbleTile_ToLeft_ToCenter(_searchTeam)); } else if (!_startLeft && !_startBack) { return(_tileGroup.GetMoveAbleTile_ToLeft_ToBack(_searchTeam)); } else if (_startLeft && !_startBack) { return(_tileGroup.GetMoveAbleTile_ToRight_ToBack(_searchTeam)); } return(null); }
public Unit CreateUnitWithUnitIdx(string _uIdx, Tile _t, EnumInfo.TeamType _tType) { // .... Unit _unit = BringAbleToUseUnit(_uIdx); _unit.InitUnit(_tType); _unit.SetTile(_t); _curUnitsOnTile.Add(_unit); switch (_tType) { case EnumInfo.TeamType.Red: _curRedUnitsOnTile.Add(_unit); break; case EnumInfo.TeamType.Blue: _curBlueUnitsOnTile.Add(_unit); break; } return(_unit); }
public void StartGame() { Debug.Log("StartGame()"); _curTurnTeamType = Random.Range(0, 2) == 0 ? EnumInfo.TeamType.Red : EnumInfo.TeamType.Blue; }
public void Initialize(EnumInfo.TeamType _winTeam) { _winTeamText.text = string.Format("{0} Team\nw WIN", _winTeam); }
public void CreateUnit(string _unitIdx, EnumInfo.TeamType _teamTy) { _tileGroup.GetCreateAbleTile(_teamTy).SetUnit(_unitIdx, _teamTy); }
public void EndGame(EnumInfo.TeamType _winTeam) { _gameEndUI.gameObject.SetActive(true); _gameEndUI.Initialize(_winTeam); }