Example #1
0
        public override void Process()
        {
            // Process unit queue
            QueuedUnit delete = null;
            if (m_queue.Count > 0)
            {
                QueuedUnit unit = m_queue[0];
                unit.percentage += Time.deltaTime;
                if (unit.percentage >= unit.buildTime)
                {
                    // Initialise the unit.
                    UnitTemplate template = new UnitTemplate();
                    Unit newUnit = template.Load(unit.prefab, m_position - new Vector3(15f, 0f, 15f), new Vector3(0f, 90f, 0f));
                    Main.m_unitList.Add(newUnit);

                    // Cleanup
                    UserInterface.m_sidePanel.UpdateQueue(unit.prefab.ID, false);
                    delete = unit;
                }
            }

            if (delete != null)
                m_queue.Remove(delete);

            base.Process();
        }
Example #2
0
File: Main.cs Project: JJJohan/RTS
 // Create a new dozer at map spawn
 private static void SpawnDozer(Vector3 a_pos)
 {
     UnitPrefab unitPrefab;
     m_res.prefabs.unitPrefabs.TryGetValue(1, out unitPrefab);
     UnitTemplate template = new UnitTemplate();
     Unit newUnit = template.Load(unitPrefab, a_pos - new Vector3(15f, 0f, 15f), new Vector3(0f, 90f, 0f));
     m_unitList.Add(newUnit);
     InputHandler.SpawnSelect(ref newUnit);
 }