コード例 #1
0
    private void DisasterTurn()
    {
        if (!bDisasterExist)
        {
            disasterObject = disasterMgr.TurnUpdate();
            if (disasterObject != null)
            {
                bDisasterExist = true;
            }
            else
            {
                _currGameState = GameState.TURN_END;
            }
        }
        else
        {
            if (disasterObject.IsActive)
            {
                Destroy(disasterObject.gameObject);
                disasterObject = null;

                StartCoroutine(disasterMgr.UpdateWillActiveDisasterArea()); // 다음 턴 재난 지역 타일맵에 동기화

                bDisasterExist = false;
                _currGameState = GameState.TURN_END;
            }
        }
    }
コード例 #2
0
ファイル: DisasterMgr.cs プロジェクト: beuoon/FILO
    public DisasterObject TurnUpdate()
    {
        DisasterObject disasterObject = null;

        for (int i = 0; i < disasters.Count;)
        {
            disasters[i].Update();

            if (disasters[i].IsSatisfied)
            {
                disasterObject = CreateDisasterObject(disasters[i]);
                disasters.RemoveAt(i);
            }
            else
            {
                i++;
            }
        }

        return(disasterObject);
    }
コード例 #3
0
ファイル: DisasterMgr.cs プロジェクト: beuoon/FILO
    private DisasterObject CreateDisasterObject(Disaster disaster)
    {
        Object  obj = null;
        Vector3 pos = TileMgr.Instance.CellToWorld(disaster.position, disaster.floor);

        switch (disaster.type)
        {
        case Disaster.DisasterType.FALLING_ROCK:  obj = FallingRock;   break;

        case Disaster.DisasterType.SHORT_CIRCUIT: obj = ShortCircuit;  break;

        case Disaster.DisasterType.FLASHOVER:     obj = Flashover;     break;

        case Disaster.DisasterType.SMOKE:         obj = Smoke;         break;
        }

        GameObject     gameObj        = (GameObject)Object.Instantiate(obj, pos, Quaternion.identity, GameMgr.Instance.transform);
        DisasterObject disasterObject = gameObj.GetComponent <DisasterObject>();

        disasterObject.Pos = disaster.position;

        return(disasterObject);
    }