Ejemplo n.º 1
0
    public static void Initialize()
    {
        //setup location
        RuntimeData.localMapData.Instantiate();

        _fleets = new List <Fleet>();
        _ships  = new List <ShipEntity>();

        //collect all entities
        _resources = Object.FindObjectsOfType <ResourceEntity>().ToList();

        _lastSpeed = SimulationSpeed.Normal;

        //setup ui
        CommandMapper.Initialize();

        //setup eventual fleets
        for (int i = 0; i < RuntimeData.localMapData.fleets.Count; i++)
        {
            AddFleet(RuntimeData.localMapData.fleets[i]);
        }

        //enable/disable leave status
        OnGameStatusUpdated?.Invoke(_ships.All(s => s.teamID == 0));

        CameraManager.getInstance.JumpTo(_ships[0].transform.position, true);
        CoroutineSurrogate.getInstance.StartCoroutine(TickAICommanders());
        CoroutineSurrogate.getInstance.StartCoroutine(TurnTickAsync());

        SetSimulationSpeed(SimulationSpeed.Stopped);
    }
Ejemplo n.º 2
0
    static void UpdateGameStatus()
    {
        //player lost, gg no reEEEEEEEEEEEEEEEEEEEE
        if (_ships.All(s => s.teamID != 0))
        {
            RuntimeData.OnPlayerDefeat();
            PlayerData.OnPlayerDefeat();

            SetSimulationSpeed(SimulationSpeed.Normal);
            SceneManager.LoadSceneAsync("Main");
        }
        else if (_ships.All(s => s.teamID == 0))
        {
            for (int i = 0; i < _fleets.Count; i++)
            {
                if (_fleets[i].teamID != 0)
                {
                    RuntimeData.system.RemoveFleet(_fleets[i]);
                }
            }

            OnGameStatusUpdated?.Invoke(_ships.All(s => s.teamID == 0));
            LogManager.getInstance.AddEntry("Clear of hostile vessels, we can leave at anytime, Admiral.");
        }

        OnGameStatusUpdated?.Invoke(_ships.All(s => s.teamID == 0));
    }