/// <summary> /// Spawns and Configs a CargoSprite depending on AcceptsCargo /// Only used for AcceptsCargo Sprites /// </summary> /// <param name="ac"></param> void SpawnAndConfigCargoSpriteRecives(AcceptsCargo ac) { if (!dontSpawnAnything) { foreach (CardinalPoint cp in ac.direction) { GameObject GO = SpawnCargoSprite(cp); CargoSprite cs = GO.GetComponent <CargoSprite>(); if (GameConfig.s != null) { SpawnArrow(cp, GameConfig.s.cargoColors[(int)ac.CargoType], false, true); } else { SpawnArrow(cp, Color.white, false, true); } ac.myCargoSpriteReference.Add(cs); } } ac.myBuilding = this; ac.UpdateMyCargoSprites(); OnTruckLoadStation += ac.TruckOnPointListener; }
/// <summary> /// Spawns and Configs a CargoSprite/s depending on ProducesCargo /// Only used for ProducesCargo Sprites /// </summary> /// <param name="pc"></param> void SpawnAndConfigCargoSpriteProduces(ProducesCargo pc) { pc.amountOfItems = pc.startingAmount; if (!dontSpawnAnything) { foreach (CardinalPoint cp in pc.direction) { GameObject GO = SpawnCargoSprite(cp); CargoSprite cs = GO.GetComponent <CargoSprite>(); if (GameConfig.s != null) { SpawnArrow(cp, GameConfig.s.cargoColors[(int)pc.CargoType], false); } else { SpawnArrow(cp, Color.white, false); } pc.myCargoSpriteReference.Add(cs); } } pc.myBuilding = this; OnTruckLoadStation += pc.TruckOnPointListener; if (pc.needsIncome) { OnTruckUnloaded += pc.TruckOnPointListenerINCOME; } pc.UpdateMyCargoSprites(); pc.Initialize(); //cs.Initialize(); }