private static void AddUnit(GameSpec spec, UnitSpec unitSpec) { var id = (ushort)spec.Units.Count; unitSpec.UnitSpecID = id; spec.Units[id] = unitSpec; }
// Use this for initialization void Start() { playerFactionSpec = (PlayerFaction)Faction.GetComponent("PlayerFaction"); UnitBody = (GameObject)Instantiate(unitPrefab); UnitBodySpec = ((UnitSpec)UnitBody.GetComponent("UnitSpec")); UnitBodySpec.paintUnit(playerFactionSpec.FactionColor); UnitBodySpec.GenerateBody(); UnitBody.transform.parent = this.transform; UnitBody.transform.position = this.transform.position; switch (UnitBodySpec.getUnitClassSize()) { case UnitSpec.UnitSize.M: UnitBody.transform.localScale = new Vector3(3.5f, 3.5f, 3.5f); break; default: break; } SetRotation(); health = UnitBodySpec.getMaxHealth(); supply = UnitBodySpec.getMaxSupply(); ammo = new int[UnitBodySpec.turrets.Length]; for (int i = 0; i < ammo.Length; i++) { ammo[i] = ((TurretSpec)UnitBodySpec.turrets[i].GetComponent("TurretSpec")).getMaxAmmo(); } }
Unit SpawnUnit(UnitSpec spec) { GameObject obj = Instantiate(spec.prefab, transform, false); obj.transform.position += new Vector3(0.0f, UnityEngine.Random.Range(minY, maxY), 0.0f) + -spec.scrollDirection * spec.spawnTime; Unit unit = obj.GetComponent <Unit>(); unit.scrollDirection = spec.scrollDirection; unit.interval = spec.interval; unit.offset = spec.offset; unit.sequence = spec.sequence; unit.health = spec.health; return(unit); }
public ConcreteUnit(Unit u, UnitSpec cu) : base(u, cu) { }