private void OnBuildDone() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube); go.transform.position = transform.position; StaticEntityProperties props = EntitiesHolder.LoadEntityById(_id) as StaticEntityProperties; (go.AddComponent <StorageBuilding>() as BaseUnit).OnCreated(props.scriptInfo.arguments); Destroy(gameObject); }
void OnGUI() { if (IsSelected) { EntityProperties[] entitiesAvailableOnThisUnit = EntitiesHolder.LoadEntitiesAvailableOnId(base.id); for (int i = 0; i < entitiesAvailableOnThisUnit.Length; i++) { EntityProperties current = entitiesAvailableOnThisUnit[i]; if (GUI.Button(new Rect(0, 40 * i, 400, 40), current.Name + ", " + current.Description)) { BuildingPlacer.Create(current.Id); } } } }
private static void PlaceBuilding() { GameObject newBuilding = GameObject.CreatePrimitive(PrimitiveType.Cube); newBuilding.transform.position = _building.transform.position; StaticEntityProperties properties = EntitiesHolder.LoadEntityById(_buildingId) as StaticEntityProperties; print(newBuilding); print(properties.scriptInfo); newBuilding.AddComponent(properties.scriptInfo.script); for (int i = 0; i < properties.scriptInfo.arguments.Length; i++) { print(properties.scriptInfo.arguments[i]); } (newBuilding.GetComponent(properties.scriptInfo.script) as BaseUnit).OnCreated(properties.scriptInfo.arguments); DestroyCurrent(); }
private static void PlaceBuilding() { GameObject newBuilding = GameObject.CreatePrimitive(PrimitiveType.Cube); newBuilding.transform.position = _building.transform.position; StaticEntityProperties properties = EntitiesHolder.LoadEntityById(_buildingId) as StaticEntityProperties; print(newBuilding); print(properties.scriptInfo); Construction c = newBuilding.AddComponent <Construction>(); c.OnCreated(new string[1] { properties.Id.ToString() }); _villager.ActionCallback(c); DestroyCurrent(); }
public override void OnCreated(string[] arguments) { _id = int.Parse(arguments[0]); _maxHp = EntitiesHolder.LoadEntityById(_id).Hp; }