public void GetSelectedUIBuilding3D(Vector3 position) { CurrentSelectedBuilding = buildingSlotSelectionInstance.GetSelectedSlotByInstantiate(poolsystemInstance, position); if (CurrentSelectedBuilding != null) { CurrentSelectedBuilding.SetSelectedBuilding(true); } }
void OnMouseDown(RaycastHit hit) { if (hit.transform != null) { if ((1 << hit.transform.gameObject.layer & groundMask) > 0) { if (CurrentSelectedBuilding == null) { if (buildingSlotSelectionInstance.IsAnySlotSelected) { Vector3 gridPos = gridSystemInstance.GetGroundHitPosition(hit.point); Debug.Log(gridPos); GetSelectedUIBuilding3D(gridPos); CheckIsValidPosition(gridPos, MOUSECLICKTYPE.MOUSEDOWN); } } else { CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } else if ((1 << hit.transform.gameObject.layer & buildigMask) > 0) { if (CurrentSelectedBuilding == null) { CurrentSelectedBuilding = GetComponentByTransform <Building3DInfo>(hit.transform); CheckIsValidPosition(hit.point, MOUSECLICKTYPE.MOUSEDOWN); } else { CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } else { if (CurrentSelectedBuilding != null) { CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } } else { if (CurrentSelectedBuilding != null) { CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } else { GetSelectedUIBuilding3D(Input.mousePosition); } } }
public Building3DInfo GetSelectedSlotByInstantiate(PoolSystemManager pool, Vector3 Position) { Building3DInfo info = null; if (currentSelectedSlot != null) { info = currentSelectedSlot.InstantiatePrefab(pool, Position); currentSelectedSlot = null; } return(info); }
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); }
public Building3DInfo GetUnusedBuilding(BUILDING_DIMENSION dimension) { Building3DInfo building = null; foreach (Building3DInfo info in unusedBuildingList) { if (info.info.buildingType == dimension) { building = info; break; } } if (building != null) { unusedBuildingList.Remove(building); } return(building); }
public Building3DInfo GetUnusedBuilding(Vector2 size) { Building3DInfo building = null; foreach (Building3DInfo info in unusedBuildingList) { if (info.info.gridSize.x == size.x && info.info.gridSize.y == size.y) { building = info; break; } } if (building != null) { unusedBuildingList.Remove(building); } return(building); }
void OnMouseUp(RaycastHit hit) { if (hit.transform != null) { if ((1 << hit.transform.gameObject.layer & groundMask) > 0) { if (CurrentSelectedBuilding != null) { CheckIsValidPosition(hit.point, MOUSECLICKTYPE.MOUSEUP); CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } else if ((1 << hit.transform.gameObject.layer & buildigMask) > 0) { if (CurrentSelectedBuilding != null) { CheckIsValidPosition(hit.point, MOUSECLICKTYPE.MOUSEUP); CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } else { if (CurrentSelectedBuilding != null) { CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } } else { if (CurrentSelectedBuilding != null) { CurrentSelectedBuilding.SetBuildingDeSelected(poolsystemInstance); CurrentSelectedBuilding = null; } } }
public void SetUnUsedBuildings(Building3DInfo building) { unusedBuildingList.Add(building); }
public bool IsBuildingisSame(this Building3DInfo info) { return(this == info); }
public void SetSelectedBuilding(Building3DInfo currentSelected) { CurrentSelectedBuilding = currentSelected; }