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); }
void MouseInput() { if (Input.GetMouseButton(0)) { Vector3 aimPos = CameraManager.Singleton.worldCamera.WorldPointFromMouse(); Vec2Int tilePos = GroundManager.Singleton.ConvertWorldPositionToTile(aimPos); GroundManager.GroundTileType tileType = GroundManager.Singleton.ClientData.GetTileType(tilePos); Debug.Log(string.Format("Tile pos {0} type {1}", tilePos, tileType)); GroundManager.Singleton.Client_AttemptBuildTile(this, tilePos, aimPos); } }
public void Client_SendObjectPlacement(GroundManager.GroundTileType tileType) { }