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); }
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); } }
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); }
public static void Trigger_SpawnUnitEvent(GameObject ObjectToSpawn, Vector3 posToSpawn) { SpawnUnitEvent.Invoke(ObjectToSpawn, posToSpawn); }