private void UpdateMesh(BuildingBlueprint plannedBlueprint) { if (!this.filter) { return; } if (!this.meshRenderer) { return; } GameObject gObj = PrefabLoader.GetPrefab <GameObject>(plannedBlueprint.PrefabPath); if (gObj == null) { logger.Log("Unable to load prefab " + plannedBlueprint.PrefabPath, LogLevel.Warning); return; } MeshFilter filter = Helpers.GetComponent <MeshFilter>(gObj, logger); if (!filter) { return; } this.filter.mesh = filter.sharedMesh; MeshRenderer renderer = Helpers.GetComponent <MeshRenderer>(gObj, logger); if (!renderer) { return; } this.meshRenderer.material = renderer.sharedMaterial; }
public static BlockBuildingSite InstantiateNew(Vector3Int position, Block blockToBuild, Type itemRequired) { GameObject prefabObj = PrefabLoader.GetPrefab <GameObject>(prefabName); GameObject obj = Instantiate(prefabObj) as GameObject; if (!obj) { throw new System.Exception("Could not instantiate prefab " + prefabName); } GridActor actor = obj.GetComponent <GridActor>(); if (!actor) { throw new System.Exception("No GridActor on prefab " + prefabName); } actor.Move(position); BlockBuildingSite bbs = obj.GetComponent <BlockBuildingSite>(); if (!bbs) { throw new System.Exception("No BlockBuildingSite on prefab " + prefabName); } bbs.data.targetBlock = blockToBuild; bbs.data.itemRequired = itemRequired; return(bbs); }
public static DorfComponent InstantiateDorf(Vector3Int spawnPos) { GameObject prefabObj = PrefabLoader.GetPrefab <GameObject>(prefabName); GameObject obj = Instantiate(prefabObj) as GameObject; obj.name = "Dorf_" + obj.GetInstanceID().ToString(); if (!obj) { throw new System.Exception("Could not instantiate prefab " + prefabName); } DorfComponent dorf = obj.GetComponent <DorfComponent>(); if (!dorf) { throw new System.Exception("No DorfController Component on " + prefabName); } dorf.gridActor = dorf.GetComponent <GridActor>(); if (!dorf.gridActor) { throw new System.Exception("No GridActor on prefab " + prefabName); } dorf.gridActor.Move(spawnPos); dorf.logger = new LilLogger(obj.name); return(dorf); }
public static BuildingSite InstantiateNew(BuildingBlueprint blueprint) { GameObject prefab = PrefabLoader.GetPrefab <GameObject>(prefabPath); GameObject gObj = Instantiate(prefab) as GameObject; BuildingSite site = gObj.GetComponent <BuildingSite>(); site.data.blueprint = blueprint; return(site); }
void Start() { logger = new LilLogger(typeof(UnbuiltBuildingGhoster).ToString()); observer = new SimpleObserver <PlayerUpdateEvent>(PlayerComponent.Instance, OnPlayerSettingsUpdated); filter = GetComponent <MeshFilter>(); meshRenderer = GetComponent <MeshRenderer>(); seeThroughShader = PrefabLoader.GetPrefab <Shader>("Shaders/SeeThroughShader"); if (seeThroughShader == null) { logger.Log("Unable to load Shaders/SeeThroughShader", LogLevel.Warning); } }
public static MapGenerationProgress InstantiateNew(IMapGenerator newGenerator) { GameObject prefabObj = PrefabLoader.GetPrefab <GameObject>(prefabName); GameObject obj = Instantiate(prefabObj) as GameObject; if (!obj) { throw new System.Exception("Could not instantiate prefab " + prefabName); } MapGenerationProgress disp = obj.GetComponent <MapGenerationProgress>(); if (!disp) { throw new System.Exception("No MapGenerationProgress Component on " + prefabName); } disp.generator = newGenerator; return(disp); }
public static void RequestLoad() { DestroyAllGameobjects(); if (!File.Exists(savePath)) { Debug.Log("There's no save to load"); return; } BinaryFormatter bf = CreateBinaryFormatter(); FileStream file = File.Open(savePath, FileMode.Open); List <SaveLoadComponent.GameobjectSaveData> saves = bf.Deserialize(file) as List <SaveLoadComponent.GameobjectSaveData>; Debug.Log("Size is " + saves.Count); foreach (var save in saves) { try { string path = "Prefabs/" + save.prefabPath; GameObject obj = PrefabLoader.GetPrefab <GameObject>(path); if (obj == null) { throw new Exception("Could not load prefab " + path); } SaveLoadComponent comp = GameObject.Instantiate(obj).GetComponent <SaveLoadComponent>(); if (comp == null) { throw new Exception("No SaveLoadComponent on gameobject " + obj.name); } comp.Load(save); } catch (Exception e) { Debug.LogError("Error when loading: " + e.ToString()); } } file.Close(); }
void Start() { inventory = Helpers.GetComponent <InventoryComponent>(gameObject, logger); if (inventory) { inventoryObserver = new SimpleObserver <InventoryUpdateEvent>(inventory, OnInventoryUpdated); } actor = Helpers.GetComponent <GridActor>(gameObject, logger); if (actor) { actor.Move(data.blueprint.Location); transform.position = actor.Position; } if (data.blueprint != null) { blueprintPrefab = PrefabLoader.GetPrefab <GameObject>(data.blueprint.PrefabPath); SetupMesh(); SetupGridActor(); SetupRequests(); } }
public static DroppedItemComponent InstantiateNew(Vector3Int position) { GameObject prefabObj = PrefabLoader.GetPrefab <GameObject>(prefabName); GameObject obj = Instantiate(prefabObj) as GameObject; if (!obj) { throw new System.Exception("Could not instantiate prefab " + prefabName); } GridActor gridActor = obj.GetComponent <GridActor>(); if (!gridActor) { throw new System.Exception("No GridActor Component on " + prefabName); } gridActor.Move(position); DroppedItemComponent comp = obj.GetComponent <DroppedItemComponent>(); if (!comp) { throw new System.Exception("No ItemContainerComponent Component on " + prefabName); } return(comp); }
// INIT private void Initialize() { heart_parent_rect = heart_parent.gameObject.GetComponent <RectTransform>(); heart_prefab = PrefabLoader.GetPrefab("Level/Heart"); }