void CheckIsValidPosition(Vector3 hitposition, MOUSECLICKTYPE type)
    {
        List <GridNode> selectingNodeList = null;

        if (CurrentSelectedBuilding != null)
        {
            Vector3 postion = gridSystemInstance.CheckValidPosition(hitposition, CurrentSelectedBuilding.info.gridSize, out selectingNodeList);

            CurrentSelectedBuilding.SetBuildingStateSelected(postion, selectingNodeList, type);
        }
    }
 public Building3DInfo InstantiatePrefab(PoolSystemManager pool, Vector3 position)
 {
     this3DBuildinginfo = pool.GetUnusedBuilding(buildingDimention);
     if (this3DBuildinginfo == null)
     {
         GameObject obj = GameObject.Instantiate(prefab) as GameObject;
         obj.transform.parent = pool.transform;
         this3DBuildinginfo   = obj.GetComponent <Building3DInfo> ();
     }
     this3DBuildinginfo.SetBuildingStateSelected(position, null, MOUSECLICKTYPE.NONE);
     this3DBuildinginfo.SetColor(UIColor);
     return(this3DBuildinginfo);
 }