//void InitObstaclePosition() //{ // if (this.RemovableObjectLogicData.BuildingPosition != null) // { // base.FirstZoneIndex = this.RemovableObjectLogicData.BuildingPosition; // this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex); // this.BuildObstacle(); // } //} void InitObstaclePosition() { if (!this.Created) { base.FirstZoneIndex = PositionConvertor.GetBuildingTileIndexFromWorldPosition(CameraManager.Instance.MainCamera.transform.position); if (!base.CheckTile()) { base.SearchBuildingPosition(); } this.CheckTile(); Vector3 position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex); position.z = BUILDING_PICK_AXIS_Z; this.transform.position = position; base.SetArrowState(true); base.IsClick = true; } else { if (this.RemovableObjectLogicData.BuildingPosition != null) { base.FirstZoneIndex = this.RemovableObjectLogicData.BuildingPosition; this.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(base.FirstZoneIndex); this.BuildObstacle(); base.SetArrowState(false); } } }
public void Drag() { Vector3 worldPosition = EditorConfigInterface.Instance.SceneCamera.ScreenToWorldPoint(Input.mousePosition); TilePosition currentPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(worldPosition); this.Position = currentPosition; this.OperatorBehavior.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(this.Position); }
public void ConstructBuilding(BuildingType type, int level) { BuildingConfigData configData = ConfigInterface.Instance.BuildingConfigHelper.GetBuildingData(type, level); TilePosition centerPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position); TilePosition position = this.FindValidBuildingPosition(centerPosition, configData.BuildingObstacleList); if (position != null) { this.ConstructBuilding(type, level, position); } }
public void ConstructRemovableObject(RemovableObjectType type) { RemovableObjectConfigData configData = ConfigInterface.Instance.RemovableConfigHelper.GetRemovableObjectData(type); TilePosition centerPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position); TilePosition position = this.FindValidBuildingPosition(centerPosition, configData.BuildingObstacleList); if (position != null) { this.ConstructRemovableObject(type, position); } }
public void ConstructDefenseObject(PropsType type) { PropsDefenseScopeConfigData scopeConfigData = ConfigInterface.Instance.PropsConfigHelper.GetPropsData(type).FunctionConfigData as PropsDefenseScopeConfigData; PropsDefenseScopeLastingConfigData lastingConfigData = ConfigInterface.Instance.PropsConfigHelper.GetPropsData(type).FunctionConfigData as PropsDefenseScopeLastingConfigData; List <TilePoint> buildingObstacleList = scopeConfigData != null ? scopeConfigData.BuildingObstacleList : lastingConfigData.BuildingObstacleList; TilePosition centerPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.m_SceneCamare.position); TilePosition position = this.FindValidBuildingPosition(centerPosition, buildingObstacleList); if (position != null) { this.ConstructDefenseObject(type, position); } }
void OnDrag(Vector2 delta) { if (UICamera.currentTouchID == -1) { Vector3 worldPosition = EditorConfigInterface.Instance.SceneCamera.ScreenToWorldPoint(Input.mousePosition); TilePosition currentPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(worldPosition) + this.m_SelectOffset; this.Position = currentPosition; this.gameObject.transform.position = PositionConvertor.GetWorldPositionByBuildingTileIndex(this.Position); foreach (var b in this.m_Selections) { if (b != this) { b.OnDrag(delta); } } } }
void Update() { bool isValid = true; TilePosition currentPosition = PositionConvertor.GetBuildingTileIndexFromWorldPosition(this.transform.position); if (!currentPosition.IsValidBuildingTilePosition()) { isValid = false; } if (EditorFactory.Instance.MapData[currentPosition.Row, currentPosition.Column] != null) { isValid = false; } if (isValid) { this.m_Sprite.color = Color.green; } else { this.m_Sprite.color = Color.red; } }