public override void _Process(float delta) { if(_raisingMountains) { if(!Input.IsMouseButtonPressed(1)) { _raisingMountains = false; _activePower = GodPowerTypes.None; } else { var map = GetParent<Map>(); var cell = map.ToCellCoordinates(GetGlobalMousePosition()); if(map._land[(int)cell.x, (int)cell.y] != GroundType.Mountain) { map.UpdateCell((int)cell.x, (int)cell.y, GroundType.Mountain); _divinity -= 3; } } } }
public override void _Input(InputEvent evt) { var map = GetParent<Map>(); if(evt is InputEventMouseButton) { var evtMB = (InputEventMouseButton)evt; var cell = map.ToCellCoordinates(GetGlobalMousePosition()); if(evtMB.ButtonIndex != 1) return; if(evtMB.Pressed) { if(_activePower == GodPowerTypes.SpawnForest) { if(_divinity >= 10) { SpawnDivineForest((int)cell.x, (int)cell.y, PlantType.Tree); _divinity -= 10; } _activePower = GodPowerTypes.None; } if(_activePower == GodPowerTypes.CarveRiver) { SpawnDivineRiverTargetingPoint((int)cell.x, (int)cell.y); _activePower = GodPowerTypes.None; } if(_activePower == GodPowerTypes.RaiseMountains) { _raisingMountains = true; } } } }