Esempio n. 1
0
 void OnDestroy()
 {
     if (Instance == this)
     {
         Instance = null;
     }
 }
Esempio n. 2
0
    public void InitializeNewGame()
    {
        //---<resourses init>---//

        //---<resourses init>---//

        //---<Ship init>---//
        AvailableShips.AddShip(_yellowShips, "Yellow");
        AvailableShips.AddShip(_bleuShips, "Blue");
        AvailableShips.AddShip(_greenShips, "Green");
        AvailableShips.AddShip(_minerShips, "Miner");
        //---<Ship init>---//
    }
Esempio n. 3
0
    public void Resume()
    {
        string json = File.ReadAllText(Application.persistentDataPath + "/Save.gm");
        var    go   = JsonUtility.FromJson <PersistentData>(json);

        AvailableShips.AddShip(go.yellowShips, "Yellow");
        AvailableShips.AddShip(go.blueShips, "Blue");
        AvailableShips.AddShip(go.greenShips, "Green");
        AvailableShips.AddShip(go.minerShips, "Miner");
        Werehouses.AddResours(ResoursesType.Metal, go.metal);
        Werehouses.AddResours(ResoursesType.YellowGem, go.yellowGem);
        Werehouses.AddResours(ResoursesType.BlueGem, go.blueGem);
        Werehouses.AddResours(ResoursesType.GreenGem, go.greenGem);
        SceneManager.LoadScene("ArkBase");
    }
Esempio n. 4
0
    private void Start()
    {
        //===============================//
        for (int i = 0; i < 6; i++)
        {
            AvailableShips.AddShip(1, UnitsType[Random.Range(0, 3)].WeaponType);
        }
        //===============================//

        AddAvailableShip(UnitsType[0], AvailableShips.YellowShips);
        AddAvailableShip(UnitsType[1], AvailableShips.BlueShips);
        AddAvailableShip(UnitsType[2], AvailableShips.GreenShips);

        Init();
    }
Esempio n. 5
0
        public static void LoadContent(ContentManager content, Random random)
        {
            for (int i = 0; i < shipNumber; i++)
            {
                AvailableShips.Add(new Ship(1));
            }

            playerShip = availableShips[random.Next(0, shipNumber)];

            //playerShip.SpawnShip(new Vector3(random.Next(-1000, 1000), random.Next(-1000, 1000), random.Next(-1000, 1000)), 0f);
            //busyShips.Add(playerShip);
            //availableShips.Remove(playerShip);

            SpawnPlayer(new Vector3(random.Next(-1000, 1000), random.Next(-1000, 1000), random.Next(-1000, 1000)));

            playerShip.MaxSpeed = 10f;

            for (int i = 0; i < shipNumber / 2; i++)
            {
                SpawnShip(random, content);
            }
        }
Esempio n. 6
0
 private void FinishBuildingShip(GameObject client, string type)
 {
     RemoveShipFromConstruct(client);
     AvailableShips.AddShip(1, type);
 }
Esempio n. 7
0
    private void Init()
    {
        showInfoPanel = true;
        gameObject.SetActive(false);
        ToggleInfoPanels();

        PlayModeOn = true;
        PlayerGroup.GatherAGroup(_teamForm.PlayerSquad);
        _playerSquad = _teamForm.PlayerSquad;
        //=================== DEBUG =====================//
        EnemySquad.GatherASquad(DebugEnemySquadCreated());
        //===============================================//
        int i = 0;

        foreach (var unit in _playerSquad)
        {
            AvailableShips.SubShip(1, unit.WeaponType);
            i++;
            var freeTile = GetFreeTile().gameObject;

            if (freeTile == null)
            {
                return; //not enough space
            }

            var ship = Instantiate(unit.Ship, _playerSquadParent.transform);

            float halfShipHeight = ship.GetComponent <Collider>().bounds.extents.y;
            float halfTileHeight = freeTile.GetComponent <Collider>().bounds.extents.y;

            Vector3 freeCell = freeTile.transform.position;
            freeCell.y += halfTileHeight + halfShipHeight;

            ship.name = unit.Name + " Player " + i;
            ship.tag  = "PlayerUnit";
            ship.transform.position = freeCell;
            ship.AddComponent <PlayerMove>();
            ship.AddComponent <CharInfo>();

            ship.GetComponent <CharInfo>().Init(unit);
            _playerSquadGO.Add(ship.GetComponent <PlayerMove>());
            AddShipInfoPonel(ship, true);
            ship.GetComponent <PlayerMove>().PreInit();
        }
        TurnManager.AddTeam(_playerSquadGO);
        i = 0;
        foreach (var unit in EnemySquad.Squad)
        {
            i++;
            var freeTile = GetFreeTileForEnemy().gameObject;

            if (freeTile == null)
            {
                return; //not enough space
            }

            var ship = Instantiate(unit.Ship, _enemySquadParent.transform);

            float halfShipHeight = ship.GetComponent <Collider>().bounds.extents.y;
            float halfTileHeight = freeTile.GetComponent <Collider>().bounds.extents.y;

            Vector3 freeCell = freeTile.transform.position;
            freeCell.y += halfTileHeight + halfShipHeight;

            ship.name = unit.Name + " Enemy " + i;
            ship.tag  = "EnemyUnit";
            ship.transform.position = freeCell;
            ship.AddComponent <NPCmove>();
            ship.AddComponent <CharInfo>();

            ship.GetComponent <CharInfo>().Init(unit);
            _enemySquadGO.Add(ship.GetComponent <NPCmove>());
            AddShipInfoPonel(ship, false);
            ship.GetComponent <NPCmove>().PreInit();
        }
        TurnManager.AddTeam(_enemySquadGO);
    }
Esempio n. 8
0
	void OnDestroy()
	{
		if (Instance == this) Instance = null;
	}
Esempio n. 9
0
	void Start()
	{
		Instance = this;
	}
Esempio n. 10
0
    /// <summary>
    /// Unassigns the specified ship from this trade route.
    /// </summary>
    public void UnassignShip(AvailableShips.Owned ship)
    {
        if (ship.tradeRoute == this)
        {
            ships.Remove(ship);
            ship.tradeRoute = null;

            if (ship.asset != null)
            {
                Object.Destroy(ship.asset);
                ship.asset = null;
            }
        }
    }
Esempio n. 11
0
    /// <summary>
    /// Assigns the specified ship to this trade route.
    /// </summary>
    public void AssignShip(AvailableShips.Owned ship)
    {
        if (ship.tradeRoute != this)
        {
            if (ship.tradeRoute != null) ship.tradeRoute.UnassignShip(ship);
            ship.tradeRoute = this;
            ships.Add(ship);

            if (ship.prefab != null)
            {
                Vector3 start = mOriginal.Sample(0f, SplineV.SampleType.Linear);
                Vector3 next  = mOriginal.Sample(1f, SplineV.SampleType.Linear);
                GameObject go = Instantiate(ship.prefab.prefab, start, Quaternion.LookRotation(next - start)) as GameObject;

                if (go != null)
                {
                    // Replace the possible multiple colliders with a single one residing at root
                    Collider[] cols = go.GetComponentsInChildren<Collider>();

                    if (cols.Length > 1)
                    {
                        foreach (Collider col in cols) Destroy(col);
                        go.AddComponent<BoxCollider>();
                    }

                    ship.asset = go;
                    go.AddComponent<Highlightable>();
                    TradeShip script = go.AddComponent<TradeShip>();
                    script.tradeRoute = this;
                    script.prefab = ship.prefab;
                    script.speed = ship.prefab.speed;
                }
            }
        }
    }
Esempio n. 12
0
 void Start()
 {
     Instance = this;
 }