public void ShowTempObject(UIManager.UIObjectType objectTypeToDisplay, Vector3 position) { //If no hologram, grab one if (m_objectHologram == null) { m_objectHologram = CacheManager.Singleton.RequestInteriorDoor(); m_objectHologram.gameObject.SetActive(true); m_objectHologram.transform.parent = null; m_objectHologram.SetMaterial(PrefabAssets.Singleton.doorHologramMat); switch (objectTypeToDisplay) { case UIManager.UIObjectType.Door: m_objectHologram.tileType = GroundManager.GroundTileType.Door; break; } } m_hologramObjectLocationValid = false; Vec2Int tilePos = GroundManager.Singleton.ConvertWorldPositionToTile(position); m_objectHologram.transform.position = new Vector3(tilePos.x + m_objectHologram.defaultOffset.x, 0, tilePos.y + m_objectHologram.defaultOffset.z); Color holoColor = PrefabAssets.Singleton.hologramColor; GroundManager.GroundTileType curTile = m_associatedGroundData.GetTileType(tilePos); if (m_objectHologram.tileType == GroundManager.GroundTileType.Door) { if (curTile == GroundManager.GroundTileType.Wall) { int index = m_associatedGroundData.ConvertVec2IntToInt(tilePos); BaseGroundObject baseObj = m_groundTilesGOs[index]; if (baseObj is WallObject) { GroundManager.WallType wallType = (baseObj as WallObject).WallType; //Doors can only go on straight walls if (wallType == GroundManager.WallType.Straight) { m_objectHologram.transform.rotation = baseObj.transform.rotation; m_hologramObjectLocationValid = true; } else { holoColor = PrefabAssets.Singleton.hologramColorError; } } } else { holoColor = PrefabAssets.Singleton.hologramColorError; } } m_objectHologram.SetMaterialColor(holoColor); }
public void SetTileGO(int index, BaseGroundObject newObject) { m_groundTilesGOs[index] = newObject; }