void OnGUI()
    {
        if (Event.current.Equals(Event.KeyboardEvent("S")) && gameObjectSelected)
        {
            print("S pressed!");
            SpawnUnitEvent spawnUnit = new SpawnUnitEvent();
            spawnUnit.parent    = transform.parent;
            spawnUnit.position  = new Vector3(3f, 1f, 3f);
            spawnUnit.uNIT_TYPE = SpawnUnitEvent.UNIT_TYPE.PlayerOtherUnit;
            Debug.Log(spawnUnit.uNIT_TYPE);
            spawnUnit.FireEvent();
        }

        if (Event.current.Equals(Event.KeyboardEvent("D")) && gameObjectSelected)
        {
            print("D pressed!");
            SpawnUnitEvent spawnUnit = new SpawnUnitEvent();
            spawnUnit.parent    = transform.parent;
            spawnUnit.tag       = "Player";
            spawnUnit.position  = new Vector3(6f, 1f, 6f);
            spawnUnit.uNIT_TYPE = SpawnUnitEvent.UNIT_TYPE.YELLOW_UNIT;
            Debug.Log(spawnUnit.uNIT_TYPE);
            spawnUnit.FireEvent();
        }
    }
    private void OnSpawnUnit(SpawnUnitEvent spawnUnit)
    {
        Debug.Log("Prefabs/" + spawnUnit.uNIT_TYPE);
        GameObject myPrefab = (GameObject)Resources.Load("Prefabs/" + spawnUnit.uNIT_TYPE, typeof(GameObject));
        GameObject newUnit  = Instantiate(myPrefab, spawnUnit.position, Quaternion.identity);

        newUnit.transform.SetParent(spawnUnit.parent);
    }
Exemple #3
0
        private void ApplyLogic(GameState s, float dt, DevCommandSpawn c)
        {
            // Multiple Spawn Events
            SpawnUnitEvent e = new SpawnUnitEvent(c.TeamIndex, c.UnitIndex, new Vector2(c.X, c.Z));

            for (int i = 0; i < c.Count; i++)
            {
                ApplyInput(s, dt, e);
            }
        }
Exemple #4
0
        private void ApplyInput(GameState s, float dt, SpawnUnitEvent e)
        {
            RTSTeam team = s.teams[e.Team];
            RTSUnit unit = team.AddUnit(e.Type, e.Position);

            // Check If A Unit Was Possible
            if (unit == null)
            {
                return;
            }
            s.EntityHashSet.Add(unit.UUID, unit);

            // Add Decision Tasks
            AddTask(s, unit);

            // Add A Single Unit Squad
            RTSSquad squad = team.AddSquad();

            squad.Add(unit);
            squad.RecalculateGridPosition();
            AddTask(s, squad);
        }
 void OnEnable()
 {
     SpawnUnitEvent.RegisterListener(OnSpawnUnit);
 }
Exemple #6
0
 public static void Trigger_SpawnUnitEvent(GameObject ObjectToSpawn, Vector3 posToSpawn)
 {
     SpawnUnitEvent.Invoke(ObjectToSpawn, posToSpawn);
 }