private void GetNodes() { // If in editor, skip. if (!GetTree().GetRoot().HasNode("Game")) { return; } GameNode = GetTree().GetRoot().GetNode("Game") as Node2D; FirstSpellSlot = GameNode.GetNode("UI/Screen/SelectedSpell") as Control; SecondSpellSlot = GameNode.GetNode("UI/Screen/SecondSpell") as Control; // TODO: Add path support. LoadLevel("res://editorLevel.tscn"); // Load level. CurrentLevel = GameNode.GetNode("CurrentLevel") as Level; Entities = CurrentLevel.GetNode("Layers/Entities") as YSort; InGameMode = true; // Spawn Player. CurrentLevel.SpawnPlayer(); Hand = Entities.GetNode("Player/Hand") as Hand; if (CurrentLevel is null) { GD.PrintErr("[GAME] Current Level not found"); } }
public void Reset(int score) { if (score > _highscore) { _highscore = score; } header.GetNode <Label>("GameTitleScore").Text = "High Score: " + _highscore; centerMessage.Text = "Game Over!\nPlay Again?"; centerMessage.Show(); }
private Node2D InstantiateScene(PackedScene scene) { Node2D instance = scene.Instance() as Node2D; instance.GetNode("VisibilityNotifier2D").Connect("screen_exited", this, "_OnPieceScreenExited", null, 1); instance.GetNode("VisibilityNotifier2D").Connect("screen_entered", this, "_OnPieceScreenEntered", null, 1); this.LevelHolder.AddChild(instance); return(instance); }
public override void _Ready() { _potionObject = GetNode <Node2D>("PotionObject"); _area = _potionObject.GetNode <Area2D>("Area2D"); _sprite = _potionObject.GetNode <Sprite>("Sprite"); _soundPlayer = _potionObject.GetNode <AudioStreamPlayer2D>("SoundPlayer"); _potionObject.Rotation = InitialRotation; _potionObject.Position = InitialPosition; _totalDistance = (InitialPosition - Destination).Length(); _area.Connect("body_entered", this, nameof(OnEnter)); }
// Called when the node enters the scene tree for the first time. public override void _Ready() { _player = _body.GetNode <AnimationPlayer>(new NodePath("AnimationPlayer")); _player.CurrentAnimation = FireAnim; _player.GetAnimation(FireAnim).Loop = false; // Sometimes it's true(???) var sprite = _body.GetNode <AnimatedSprite>(new NodePath("AnimatedSprite")); sprite.Frame = 9; AddChild(_body); _body.Position = new Vector2(0, 0); _body.Visible = true; }
private void RefreshLED() { if (energy >= energyMax && oxygene >= maxOxygene) { Color color = Color.Color8(255, 0, 0); LED.GetNode <Sprite>("led").Modulate = color; LED.GetNode <Light2D>("Light").Color = color; } else { Color color = Color.Color8(66, 190, 40); LED.GetNode <Sprite>("led").Modulate = color; LED.GetNode <Light2D>("Light").Color = color; } }
private void InitializeLevel() { _floorTileMap = _level.GetNode <TileMap>("FloorTileMap"); _player = _level.GetNode <Player>(); _player.SafeConnect(nameof(Player.StairsGet), this, nameof(OnStairsGet)); var cells = _floorTileMap.GetUsedCells(); foreach (Vector2 cellVector in cells) // each vector is based ont he { var fogPosition = cellVector * _floorTileMap.CellSize; var fog = _fogScene.Instance <Fog>(); fog.Position = fogPosition; _level.AddChild(fog); } }
void addItem(Godot.Vector2 position, float rotation, Texture texture) { ((Sprite)currentlyAdded.GetNode("Sprite")).Texture = texture; currentlyAdded.GlobalPosition = position; currentlyAdded.Rotation = rotation; AddChild(currentlyAdded); }
// Called when the node enters the scene tree for the first time. public override void _Ready() { signalManager = GetNode <SignalManager>("/root/SignalManager"); signalManager.Connect(nameof(SignalManager.Defeat), this, "OnDefeat"); mouseFollower = GetNode <Node2D>("MouseFollower"); paddleHolder = GetNode <Node2D>("PaddleHolder"); paddleArea = paddleHolder.GetNode <Area2D>("PaddleArea"); }
public StageTransition GetTransition(string stageName) { if (!transitions.HasNode(stageName)) { return(null); } return(transitions.GetNode <StageTransition>(stageName)); }
protected void OnPlayerHit(Node2D node) { var paddleLength = node.GetNode <Sprite>("Sprite").RegionRect.Size.x; var ballX = Position.x; var playerX = node.Position.x; var offsetX = ballX - playerX; var ratio = offsetX / paddleLength; LinearVelocity = new Vector2(LinearVelocity.y * ratio * -1, LinearVelocity.y).Normalized() * speed; }
public void _on_Area2D_area_entered(Area2D area) { if (area.GetCollisionLayerBit(3)) { explosion.Position = this.Position; GetParent().AddChild(explosion); ((AnimationPlayer)explosion.GetNode("AnimationPlayer")).Play("Explode"); globals.kills += 1; QueueFree(); } }
public override void _Ready() { _foodLoader = new FoodLoader(true); _orderCreator = new OrderCreator(_foodLoader); _plates = GetNode <Plates>("Plates"); _foodContainer = GetNode <Node2D>("FoodContainer"); _orderContainer = GetNode <Node2D>("OrderContainer"); _foodSpawnerTimer = GetNode <Timer>("Timers/FoodSpawner"); _foodSpawnerTimer.Connect("timeout", this, nameof(SpawnFood)); _gameOverHover = GetNode <Node2D>("GameOverHover"); _scoreContainer = GetNode <Node2D>("ScoreContainer"); _scoreContainer.GetNode <Button>("QuitGameButton").Connect("pressed", this, nameof(QuitGame)); _scoreContainer.GetNode <Button>("NewGameButton").Connect("pressed", this, nameof(StartNewGame)); _twitter1 = GetNode <LinkButton>("Twitter"); _twitter2 = GetNode <LinkButton>("Twitter2"); _twitter1.Connect("pressed", this, nameof(Twitter), new Godot.Collections.Array { "G4MR" }); _twitter2.Connect("pressed", this, nameof(Twitter), new Godot.Collections.Array { "IMG4MR" }); var audio = GetNode <Node>("Audio"); _soundtrack = audio.GetNode <AudioStreamPlayer>("Soundtrack"); _gameoverSoundtrack = audio.GetNode <AudioStreamPlayer>("Gameover"); _itemClick = audio.GetNode <AudioStreamPlayer>("SFX/ItemClick"); _buttonClick = audio.GetNode <AudioStreamPlayer>("SFX/ButtonClick"); _foodSpawner = new FoodSpawner(_plates, _foodLoader, _foodContainer); SpawnEmptyStartOrders(); LoadHighscore(); }
public void StartNewGame() { _points = 0; UpdateScore(); _soundtrack.Play(); _buttonClick.Play(); _gameOverHover.GetNode <Label>("GameOver").Hide(); _gameOverHover.GetNode <Label>("StartGame").Hide(); _gameOverHover.GetNode <Sprite>("Background").Hide(); _scoreContainer.GetNode <Button>("NewGameButton").Text = "Restart"; _foodSpawner.DespawnAllPlates(); PurgeOrders(); SpawnStartOrders(); _gameRunning = true; _foodSpawnerTimer.Start(); }
public void explode() { explosion.Position = this.Position; GetParent().AddChild(explosion); ((AnimationPlayer)explosion.GetNode("AnimationPlayer")).Play("Explode"); shootCD.WaitTime = 2.5f; shootCD.Start(); ((Sprite)GetNode("Sprite")).Visible = false; horVel = 0; vertVel = 0; dying = true; }
private Node LoadNode(string name) { var node2D = GetNodeOrNull(name); if (node2D is null) { node2D = backupNode.GetNode(name).Duplicate(); AddChild(node2D); } return(node2D); }
public void checkWantCandy(float delta) { candyTimeout = Math.Max(candyTimeout - delta, 0f); if (speechBubble == null) { return; } speechBubble.Visible = wantCandy != null; if (speechBubble.Visible) { speechBubble.GetNode <Sprite>("CandySprite").Texture = wantCandy.Texture; } }
public override void _Ready() { _manager = GetNode("Manager") as Control; _health = _manager.GetNode("HealthLabel") as Label; _armour = _manager.GetNode("ArmourLabel") as Label; _healthSprite = _manager.GetNode("Health") as Sprite; _armourSprite = _manager.GetNode("Armour") as Sprite; AimAt = _manager.GetNode("AimAt") as Node2D; Crosshair = AimAt.GetNode("Crosshair") as Sprite; _fps = _manager.GetNode("FPS") as Label; this.Visible = false; }
private void SetSize() { //Get the size of the wievport and add the snap step to it to completely cover the screen size = GetViewportRect().Size + new Vector2(snapStep, snapStep) * 2; //Grab the zoom level of the camera size *= player.GetNode <Camera2D>("Camera2D").Zoom; //Make it so the size is always divisible by 32 size.x = Mathf.Stepify(size.x, 32); size.y = Mathf.Stepify(size.y, 32); //Set the size in tiles to the size the shader is covering sizeInTiles.x = (int)size.x / 16; sizeInTiles.y = (int)size.y / 16; //Set the shader scaled size to the size we got from the camera and snap steps Scale = size; }
// // Called every frame. 'delta' is the elapsed time since the previous frame. public override void _Process(float delta) { currentEntity = SelectionController.SelectedEntity; if (currentEntity != null) { Sprite currentSprite = currentEntity.GetNode <Sprite>("Sprite"); selectedSprite.Texture = currentSprite.Texture; Visible = true; } else { Visible = false; selectedSprite.Texture = null; } }
public override void _Ready() { base._Ready(); Map = GetNode <Node2D>("Map"); Spawn = Map.GetNode <Position2D>("Spawn"); Corpses = GetNode <Node2D>("Corpses"); Camera = GetNode <Camera2D>("MainCamera"); UI = GetNode <UI>("CanvasLayer/UI"); RotationAnimationPlayer = GetNode <RotationAnimationPlayer>("RotationAnimationPlayer"); Emitter.Instance.Connect(nameof(Emitter.NewPlayerSignal), this, nameof(OnNewPlayer)); Emitter.Instance.Connect(nameof(Emitter.ActivateCheckPoint), this, nameof(OnActivateCheckPoint)); Emitter.Instance.Connect(nameof(Emitter.Finish1Game), this, nameof(OnFinish1Game)); Emitter.Instance.Connect(nameof(Emitter.Finish2Game), this, nameof(OnFinish2Game)); SpawnPlayer(); }
public override void _Process(float delta) { if (_agent == null || !IsInstanceValid(_agent)) { return; } foreach (Agent agent in _agents.Values) { if (agent != null && IsInstanceValid(agent)) { Node2D agentMarker = _agentMarkers[agent.GetUnitName()]; agentMarker.GlobalRotation = agent.GlobalRotation + Mathf.Pi / 2.0f; // Update marker agentMarker.LookAt(agent.GlobalPosition); float distance = agentMarker.GlobalPosition.DistanceTo(agent.GlobalPosition); ((Label)agentMarker.GetNode("Text")).Text = agent.GetUnitName() + " " + distance; } } }
private void SpawnRandomScene() { PackedScene scene = this.GetRandomScene(); Node2D instance = this.InstantiateScene(scene); VisibilityNotifier2D vn2d = instance.GetNode <VisibilityNotifier2D>("VisibilityNotifier2D"); Node2D prevPiece = this.LevelHolder.GetChild <Node2D>(this.LevelHolder.GetChildCount() - 2); if (null == prevPiece) { this.lastPosition.x = -vn2d.Position.x; this.lastPosition.y = instance.Position.y; this.previousVisibilityNotifier2D = vn2d; } this.currentPosition.x = this.lastPosition.x + this.previousVisibilityNotifier2D.Position.x; this.currentPosition.y = instance.Position.y; instance.Position = this.currentPosition; this.lastPosition = instance.Position; previousVisibilityNotifier2D = vn2d; }
private void OnBulletBodyEntered(object body) { if (body is Enemy enemy) { enemy.TakeDamage(damage); } GetNode <CollisionShape2D>(DamageAreaCollisionPath).SetDeferred("disabled", false); hitParticleRoot.GetNode <Particles2D>("HitParticle").Emitting = true; hitParticleRoot.GlobalPosition = GetNode <BulletComponent>("BulletComponent").GlobalPosition; if (hitParticleRoot.GetParent() != GetTree().CurrentScene) { GetTree().CurrentScene.AddChild(hitParticleRoot); } GetTree().CurrentScene.GetNode <CameraShake>("MainCam").Shake(180, 90, 80); gameRules.StartSlowMotion(0.1f, 0.5f, 0.8f); GetTree().CreateTimer(0.1f).Connect("timeout", this, "DeleteRocket"); }
public override void _Ready() { base._Ready(); if (Engine.EditorHint) { return; } SpawnRadius = GetNode <Area2D>("SpawnRadius"); NavigationManager = GetNode <NavigationManager>("NavigationManager"); GroundTiles = GetNode <TileMap>("Ground"); NavTiles = GetNode <TileMap>("NavigationManager/Map"); OreTiles = GetNode <TileMap>("Ore"); WallTiles = GetNode <TileMap>("Walls"); Buildings = GetNode <Node2D>("Buildings"); GroundEntities = GetNode <Node2D>("GroundEntities"); FlyingEntities = GetNode <Node2D>("FlyingEntities"); Pipes = GetNode <Node2D>("Pipes"); Core = Buildings.GetNode <Building>("Core"); Player = GroundEntities.GetNode <Player>("Player"); NormalControls = GetNode <Control>("UI/NormalControls"); BuildControls = GetNode <Control>("UI/BuildMenuControls"); WaveTimer = GetNode <WaveTimer>("UI/WaveTimer"); LaunchButton = GetNode <Button>("UI/LaunchButton"); FailureBox = GetNode <FailureBox>("UI/FailureBox"); FadeAnimationPlayer = GetNode <AnimationPlayer>("UI/ColorRect/AnimationPlayer"); CallDeferred("Generate"); WaveTimer.Wave = 1; WaveTimer.StartTimer(150); }
public void SetPath(Squad squad) { Team = squad.Team; AllTiles = squad .GetParent <Player>() .GetParent() .GetNode("Board") .GetNode <Node2D>("TilesCollection"); Path = new List <KeyValuePair <Tile, SoldierTenure> >(); var teamString = Team.ToString(); var otherString = Team == PlayerTeam.White ? "Black" : "White"; if (AllTiles == null) { return; } // starting line Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(teamString + "Start") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(teamString + "Road") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(teamString + "Camp") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(teamString + "Temple") as Tile, SoldierTenure.Private)); // middle line Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("Finish") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("MainRoad") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("Uruk") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("MainTemple") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("BridgeRoad") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("BridgeCity") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("BridgeCamp") as Tile, SoldierTenure.Private)); // after bridge Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(teamString + "Temple2") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(teamString + "Pyramid") as Tile, SoldierTenure.Private)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("Battleground") as Tile, SoldierTenure.Switch)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(otherString + "Pyramid") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode(otherString + "Temple2") as Tile, SoldierTenure.Veteran)); // finish line Path.Add(new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("BridgeCamp") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("BridgeCity") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("BridgeRoad") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("MainTemple") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("Uruk") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("MainRoad") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("Finish") as Tile, SoldierTenure.Veteran)); Path.Add( new KeyValuePair <Tile, SoldierTenure>( AllTiles.GetNode("Release") as Tile, SoldierTenure.Veteran)); }
public StagePortal GetPortal(string name) { return(portalsNode.GetNode <StagePortal>(name)); }
public static GlobalGameVariables GetGlobalGameVariables(Node2D currentNode) { var globalVars = (GlobalGameVariables)currentNode.GetNode("/root/GlobalGameVariables"); return(globalVars); }
private void UpdateScore(int points) { var score = (Label)_scoreUi.GetNode("Score"); score.Text = points.ToString(); }
public void UpdateHealthBar(int health) { var progressBar = (TextureProgress)_healthbar.GetNode("progress"); progressBar.Value = health; }