示例#1
0
    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;
                }

            }
        }
    }
示例#2
0
 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;
             }
         }
     }
 }