Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
 public void Client_SendObjectPlacement(GroundManager.GroundTileType tileType)
 {
 }