コード例 #1
0
ファイル: Scene.cs プロジェクト: eiyukabe/PrimeFramework
    /// <summary> Push a new scene onto the stack. </summary>
    public static void Push(PrimeScene scene, bool hideSceneBelow = true)
    {
        if (scene == null)
        {
            return;
        }

        scene.IsHidingSceneBelow = hideSceneBelow;
        SuspendTopScene(hideSceneBelow);
        Stack.Add(scene);

        if (scene.AttachToViewport)
        {
            CanvasLayer canvasLayer = new CanvasLayer();
            canvasLayer.Name = $"{scene.Name}";
            canvasLayer.AddChild(scene);
            StackRoot.AddChild(canvasLayer);
        }
        else
        {
            StackRoot.AddChild(scene);
        }

        Tree.SetInputAsHandled();
        scene.OnPushed();
        scene.OnCurrent();
    }
コード例 #2
0
 public MoveCommand(OxFigure value, CanvasLayer curCanv, Point newCoord, Point oldCoord)
 {
     _value    = value;
     CurCanv   = curCanv;
     _newCoord = newCoord;
     _oldCoord = oldCoord;
 }
コード例 #3
0
ファイル: World.cs プロジェクト: Tr1ll10ns/frc2020-game-jam
    public override void _Ready()
    {
        // load in some nodes
        asteroidManager   = GetNode <AsteroidManager>("AsteroidManager");
        endGameDelayTimer = GetNode <Timer>("EndGameDelayTimer");
        canvasLayer       = GetNode <CanvasLayer>("CanvasLayer");
        map         = GetNode <Map>("Map");
        gui         = canvasLayer.GetNode <GUI>("GUI");
        techTree    = canvasLayer.GetNode <Control>("TechTree");
        leaderBoard = canvasLayer.GetNode <Control>("Leaderboard");
        quitPopup   = canvasLayer.GetNode <ConfirmationDialog>("QuitPopup");

        Signals.FinalWaveCompleteEvent  += OnFinalWaveComplete;
        Signals.TerritoryDestroyedEvent += OnTerritoryDestroyed;

        gui.TechTreeButtonPressedEvent    += OnTechTreeButtonPressed;
        gui.LeaderBoardButtonPressedEvent += OnLeaderBoardButtonPressed;

        quitPopup.Connect("confirmed", this, nameof(OnQuitPopupConfirmed));

        // setup our list of territories per owner
        map.Territories.ForEach(t => numTerritoriesPerPlayer[t.TerritoryOwner - 1]++);
        asteroidManager.Territories = map.Territories;

        AddPlayersToWorld();

        // after the world is setup, tell the server to start the timer and begin the game
        Server.Instance.PostBeginGame();
    }
コード例 #4
0
        protected override JobHandle OnUpdate(JobHandle inputDeps)
        {
            m_Buffers.Clear();
            NativeArray <CanvasLayer> layerEntity;
            var canvasLayerIdFromEntity = GetComponentDataFromEntity <CanvasSortLayer>(true);

            using (var roots = m_ScreenSpaceOverlayQuery.ToEntityArray(Allocator.TempJob))
            {
                layerEntity = new NativeArray <CanvasLayer>(roots.Length, Allocator.TempJob);
                for (int i = 0; i < layerEntity.Length; i++)
                {
                    layerEntity[i] = new CanvasLayer()
                    {
                        CanvasEntity = roots[i],
                        SortId       = canvasLayerIdFromEntity[roots[i]].Value
                    }
                }
                ;
                layerEntity.Sort();
            }
            for (int i = 0; i < layerEntity.Length; i++)
            {
                if (EntityManager.HasComponent(layerEntity[i].CanvasEntity,
                                               typeof(CanvasCommandBufferContainer)))
                {
                    var commandBuffer = EntityManager.GetSharedComponentData <CanvasCommandBufferContainer>(layerEntity[i].CanvasEntity);
                    m_Buffers.Add(commandBuffer.Value);
                }
            }
            layerEntity.Dispose();
            EntityManager.AddComponent(m_UnitializedCanvasQuery, typeof(OverlayCanvasInitialized));
            EntityManager.RemoveComponent(m_DestroyedCanvasQuery, typeof(OverlayCanvasInitialized));
            return(inputDeps);
        }
    }
コード例 #5
0
        public override void _Ready()
        {
            base._Ready();

            _canvas = GetNode <CanvasLayer>("./CanvasLayer");
            if (!IsInstanceValid(_canvas) || _canvas == null)
            {
                _canvas = new CanvasLayer()
                {
                    Name = "CanvasLayer"
                };
                AddChild(_canvas);
            }

            _glyph = _canvas.GetNode <Sprite>("./Glyph");
            if (!IsInstanceValid(_glyph) || _glyph == null)
            {
                _glyph = new Sprite()
                {
                    Name = "Glyph"
                };
                AddChild(_glyph);
            }

            if (IsInstanceValid(Cursor))
            {
                Input.SetCustomMouseCursor(Cursor);
            }
        }
コード例 #6
0
ファイル: Globals.cs プロジェクト: LeonWilzer/Godot-Test-FPS
 // Called when the node enters the scene tree for the first time.
 public override void _Ready()
 {
     MouseSensitivity   = 0.08f;
     _debugDisplayScene = ResourceLoader.Load <PackedScene>("res://ui/hud/debugging/DebugDisplay.tscn");
     CanvasLayer        = new CanvasLayer();
     AddChild(CanvasLayer);
 }
コード例 #7
0
 void SetupNodeReferences()
 {
     shipInfoPanels        = FindNode("ShipInfoPanels") as ShipInfoPanels;
     hudRoot               = GetNode <CanvasLayer>("HUD");
     helpUI                = FindNode("HelpUI") as Control;
     mainCamera            = GetNode <MainCamera>("MainCamera");
     missionAccomplishedUI = FindNode("MissionAccomplishedUI") as MissionAccomplishedUI;
 }
コード例 #8
0
    public override void _Ready()
    {
        canvasLayer     = GetNode <CanvasLayer>("CanvasLayer");
        colorRect       = GetNode <ColorRect>("CanvasLayer/ColorRect");
        animationPlayer = GetNode <AnimationPlayer>("CanvasLayer/ColorRect/AnimationPlayer");

        loadScenes();
    }
コード例 #9
0
ファイル: CanvasUIView.cs プロジェクト: Daniel95/Antigravity
    public void AddChildToCanvasLayer(GameObject child, CanvasLayer canvasLayer, string key)
    {
        Transform layerTransform = canvasLayers[canvasLayer];

        canvasLayerChildByKey[canvasLayer].Add(key, child);

        child.transform.SetParent(layerTransform, false);
    }
コード例 #10
0
ファイル: CanvasUIView.cs プロジェクト: Daniel95/Antigravity
    public bool ContainsCanvasLayerChild(CanvasLayer canvasLayer, string key)
    {
        Dictionary <string, GameObject> layerChilds = canvasLayerChildByKey[canvasLayer];

        GameObject child;
        bool       contains = layerChilds.TryGetValue(key, out child);

        return(contains);
    }
コード例 #11
0
ファイル: Main.cs プロジェクト: BrutalApe/rubik
    // public void addBackdrop()
    // {
    //     MeshInstance backdrop = new MeshInstance();
    //     backdrop.Mesh = new PlaneMesh{};

    //     var material = new SpatialMaterial{};
    //     // default color is black for plane
    //     Color color_black = new Color(0,0,0);

    //     material.AlbedoColor = color_black;
    //     backdrop.SetSurfaceMaterial(0, material);

    //     Vector3 scale = new Vector3(80, 0, 80);
    //     Vector3 position = new Vector3(-1f, 0, -1f);
    //     Vector3 rotation = new Vector3(30, 180-45, 30);

    //     backdrop.Scale = scale;
    //     backdrop.Translate(position);
    //     backdrop.RotationDegrees = rotation;

    //     AddChild(backdrop);
    //     return;
    // }

    public CanvasLayer addHUD()
    {
        new_hud = (PackedScene)ResourceLoader.Load("res://HUD.tscn");
        CanvasLayer hud = (CanvasLayer)new_hud.Instance();

        AddChild(hud);

        hud.Call("menuView");

        return(hud);
    }
コード例 #12
0
    public override void _Ready()
    {
        camera = GetNode <Camera>("WorldCamera");
        canvas = GetNode <CanvasLayer>("CanvasLayer");
        ray    = camera.GetNode <RayCast>("RayCast");

        cameraOffset = camera.Transform.origin;
        camera.SetAsToplevel(true);

        Input.SetMouseMode(Input.MouseMode.Captured);
    }
コード例 #13
0
 public override void _Ready()
 {
     _gui       = GetNode <CanvasLayer>("GUI");
     _waveTimer = GetNode <Timer>("WaveTimer");
     _waveTimer.Connect("timeout", this, nameof(UnPause));
     _victoryAudio = GetNode <AudioStreamPlayer>("VictoryAudio");
     CreateConnection();
     LoadHighScore();
     GUI.UpdateScore(score);
     GUI.UpdateHighScore(highScore);
     GUI.MenuGame();
 }
コード例 #14
0
ファイル: CanvasUIView.cs プロジェクト: Daniel95/Antigravity
    public GameObject GetCanvasLayerChild(CanvasLayer canvasLayer, string key)
    {
        Dictionary <string, GameObject> layerChilds = canvasLayerChildByKey[canvasLayer];

        GameObject child;

        if (!layerChilds.TryGetValue(key, out child))
        {
            Debug.LogWarning("Can't find child id " + key + " in CanvasLayer." + canvasLayer.ToString());
        }

        return(child);
    }
コード例 #15
0
    public void initialize(CanvasConfig config, CanvasCameraConfig canvasCameraConfig, Texture2D texture = null)
    {
        canvasBuffer   = new CanvasBuffer(config.canvasSize, config.bufferSize);
        this.config    = config;
        canvasCamera   = new CanvasCamera(canvasCameraConfig, config.canvasSize, gameObject);
        backLayer      = new CanvasLayer(config.canvasSize, 100, config.layersShader, canvasCamera);
        frontLayer     = new CanvasLayer(config.canvasSize, 20, config.layersShader, canvasCamera);
        radialLayer    = new CanvasRadialLayer(config.canvasSize, 25, config.radialFillShader, config.radialFillTexture, canvasCamera);
        canvasCollider = CanvasCollider.createCanvasCollider(config.canvasSize, 10, gameObject, canvasCamera);

        setNewPicture(texture);
        initialized = true;

        handleInnerEvents();
    }
コード例 #16
0
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        CanvasLayer canvas = this.GetNode <CanvasLayer>("CanvasLayer");

        this.popupPause    = canvas.GetNode <Popup>("PauseScreen");
        this.popupWin      = canvas.GetNode <Popup>("WinScreen");
        this.popupMainMenu = canvas.GetNode <Popup>("MainMenuScreen");

        // this.popupPause.PopupCentered();
        // this.popupWin.PopupCentered();

        this.popupMainMenu.PopupCentered();


        //GD.Print(GetViewport().Size);
    }
コード例 #17
0
    public override void _Ready()
    {
        Crosshair           = GetNode <TextureRect>("CLayer/CrossCenter/TextureRect");
        ChunkInfoLabel      = GetNode <Label>("CLayer/ChunkInfo");
        PlayerPositionLabel = GetNode <Label>("CLayer/PlayerPosition");
        FPSLabel            = GetNode <Label>("CLayer/FPSLabel");
        NickLabelLayer      = GetNode <CanvasLayer>("NickLabelLayer");

        GetNode <Label>("CLayer/VersionLabel").Text = $"Version: {Game.Version}";

        GetTree().Connect("screen_resized", this, nameof(OnScreenResized));
        HotbarUpdate();
        this.CallDeferred(nameof(OnScreenResized));

        Show();         //To make sure we catch anything which might be wrong after hide then show
    }
コード例 #18
0
        public override void _Ready()
        {
            Health      = 100;
            DeathSignal = nameof(MainCharacterDie);

            Input.SetMouseMode(Input.MouseMode.Captured);
            this.animationPlayer  = GetNode <AnimationPlayer>("Player");
            this.collisionShape   = GetNode <CollisionShape>("CollisionShape");
            this.uiGameOver       = GetNode <UiGameOver>("UIGameOver");
            this.canvasLayer      = GetNode <CanvasLayer>("CanvasLayer");
            this.rayCast          = GetNode <RayCast>("RotationHelper/RayCast");
            this.camera           = GetNode <Camera>("RotationHelper/Camera");
            this.rotationHelper   = GetNode <Spatial>("RotationHelper");
            this.spotLight        = GetNode <SpotLight>("RotationHelper/SpotLight");
            this.labelMainMessage = GetNode <MessageLabel>("CanvasLayer/Label");
        }
コード例 #19
0
ファイル: Main.cs プロジェクト: BrutalApe/rubik
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        //addBackdrop();

        //Input.SetMouseMode(Input.MouseMode.Captured);

        // initializiation
        spacing_constant = 2f;

        //cube = addCube(cube_size);
        cameraMain = addCamera();
        moveCamera(cameraMain, cube_size);

        HUD = addHUD();

        // functions
    }
コード例 #20
0
    public override void _Ready()
    {
        manager    = (GameManager)GetNode("GameManager");
        canvas     = (CanvasLayer)GetNode("CanvasLayer");
        menuBox    = (VBoxContainer)canvas.GetNode("VBoxContainer");
        levelsGrid = (GridContainer)canvas.GetNode("GridContainer");
        playButton = (Button)menuBox.GetNode("ButtonPlayer");

        if (manager.currentlevel != 0)
        {
            playButton.Text = "Continue";
        }

        manager.updateData();
        levelSelector = (LevelSelector)levelsGrid;
        levelSelector.EnableUpTo(manager.maxLevel);
    }
コード例 #21
0
    public override void _Ready()
    {
        _hudContainer      = GetNode <CanvasLayer>("hud");
        _mainMenuContainer = GetNode <Control>("main_menu_canvas/main_menu");
        debugtext          = GetNode <Label>("hud/debug_text");
        playerStatus       = GetNode <Label>("hud/player_status");
        _gameMessage       = GetNode <Label>("hud/gameplay_message");
        _console           = GetNode <CmdConsoleUI>("main_menu_canvas/console");
        SetConsoleOn(false);
        SetMainMenuOn(false);
        _main = Main.i;
        _main.AddObserver(OnGlobalEvent, this, false, "UI");

        Button btn;

        btn = _mainMenuContainer.GetNode <Button>("root_menu/start");
        if (btn == null)
        {
            Console.WriteLine($"Couldn't find button");
        }
        else
        {
            btn.Connect("pressed", this, "OnRootStartClicked");
        }

        btn = _mainMenuContainer.GetNode <Button>("root_menu/options");
        if (btn == null)
        {
            Console.WriteLine($"Couldn't find button");
        }
        else
        {
            btn.Connect("pressed", this, "OnOptionsClicked");
        }

        btn = _mainMenuContainer.GetNode <Button>("root_menu/quit");
        if (btn == null)
        {
            Console.WriteLine($"Couldn't find button");
        }
        else
        {
            btn.Connect("pressed", this, "OnQuitClicked");
        }
    }
コード例 #22
0
            public static void UpdateLabel()
            {
                if (Labels.Count > 0)
                {
                    if (!Node.IsInstanceValid(instance))
                    {
                        var layer = new CanvasLayer();
                        layer.AddChild(instance = new DrawDebugLabels());
                        layer.AddChild(vScroll  = new VScrollBar());
                        Scene.Current.AddChild(layer);
                        layer.Owner    = Scene.Current;
                        instance.Owner = layer;
                        vScroll.Owner  = layer;
                    }
                    if (Labels.Count < lastcount) // fixes text bug when less text is printed than last frame
                    {
                        var layer = instance.GetParent();
                        layer.RemoveChild(instance);
                        layer.AddChild(instance);
                    }

                    builder.Clear();
                    vScroll.MaxValue = (Labels.Count - 1).min(1);
                    int scroll = (int)vScroll.Value;
                    int count  = 0;
                    while (count < 50)
                    {
                        var current = scroll + count;
                        if (current >= Labels.Count)
                        {
                            break;
                        }
                        builder.Append(Labels[current]);
                        count++;
                    }
                    instance.Text = builder.ToString();
                    lastcount     = Labels.Count;
                    Labels.Clear();
                }
                else if (Node.IsInstanceValid(instance))
                {
                    instance.GetParent().QueueFree();
                }
            }
コード例 #23
0
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        _hud            = GetNode <CanvasLayer>("HUD");
        _audio          = GetNode <AudioStreamPlayer>("AudioStreamPlayer");
        PlayerEvolution = 0;
        LevelNumber     = 1;
        SpeedrunActive  = false;
        _speedrunTime   = 0f;

        _audio.Play();

        _actions = new ArrayList()
        {
            "up",
            "down",
            "left",
            "right",
            "fire",
        };
    }
コード例 #24
0
ファイル: Animation.cs プロジェクト: mikeries/Empire
        }                                     // scales the frame size

        internal Animation(Texture2D texture, int frameWidth, int frameHeight, int frameCount, int frameDuration, bool looping, CanvasLayer canvasLayer)
        {
            _frameWidth    = frameWidth;
            _frameHeight   = frameHeight;
            _frameCount    = frameCount;
            _frameDuration = frameDuration;

            _looping     = looping;
            _spriteStrip = texture;
            _canvasLayer = canvasLayer;

            // Monogame requires a float for zOrder, so we pre-compute this based on the desired canvas layer
            _zOrder = (float)canvasLayer / (float)CanvasLayer.Count;

            _elapsedTime  = 0;
            _currentFrame = 0;

            Scale   = 1;            // default scale to 1
            _active = true;
        }
コード例 #25
0
ファイル: GameWorld.cs プロジェクト: lithiastudios/public
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        ScoreSummaryTimer = GetNode <Timer>("ScoreSummaryTimer");
        TimeStarted       = DateTime.Now;
        OS.CenterWindow();
        LastObstacle = DateTime.Now;
        LastCreature = DateTime.Now;

        ScoreCanvas               = GetNode <CanvasLayer>("ScoreCanvas");
        PlayerMoneyLabel          = GetNode <Label>("ScoreCanvas/PlayerMoneyLabel");
        DepthLabel                = GetNode <Label>("ScoreCanvas/DepthLabel");
        GameOverTimer             = GetNode <Timer>("GameOverTimer");
        PlayerSub                 = (PlayerSub)GetNode("PlayerSub");
        CircleWipeAnimationPlayer = (AnimationPlayer)GetNode("CircleWipe/ColorRect/AnimationPlayer");

        var globalVars = GlobalManager.GetGlobalGameVariables(this);

        globalVars.PlayerSub = PlayerSub;

        RandomNumberGenerator = new RandomNumberGenerator();
        RandomNumberGenerator.Randomize();

        LeftWall  = GetNode <Wall>("LeftWall");
        LeftWall2 = GetNode <Wall>("LeftWall2");

        RightWall  = GetNode <Wall>("RightWall");
        RightWall2 = GetNode <Wall>("RightWall2");

        LeftWall.GlobalPosition  = new Vector2(LeftWall.GlobalPosition.x, 0);
        RightWall.GlobalPosition = new Vector2(RightWall.GlobalPosition.x, 0);

        LeftWall2.GlobalPosition  = new Vector2(LeftWall.GlobalPosition.x, LeftWall2.CollisionHeight * 2);
        RightWall2.GlobalPosition = new Vector2(RightWall.GlobalPosition.x, RightWall2.CollisionHeight * 2);

        GameIsStarting = true;
        CircleWipeAnimationPlayer.Play("circle_out");

        SetPlayerMoneyText();
    }
コード例 #26
0
ファイル: CanvasUIView.cs プロジェクト: Daniel95/Antigravity
    public void DestroyCanvasLayerChild(GameObject child, CanvasLayer canvasLayer, string key, Action onDestroyCompleted = null)
    {
        canvasLayerChildByKey[canvasLayer].Remove(key);

        PopOutAndDestroyUIView popOutAndDestroyUIView = child.GetComponent <PopOutAndDestroyUIView>();

        if (popOutAndDestroyUIView != null)
        {
            popOutAndDestroyUIView.PopOutAndDestroy(onDestroyCompleted);
            return;
        }

        View view = child.GetComponent <View>();

        if (view != null)
        {
            view.Destroy();
            return;
        }

        Destroy(child);
    }
コード例 #27
0
    public void initChalkIcons()
    {
        var         startPosition = new Vector2(0, 175);
        var         vSpace        = 30.0f;
        PackedScene chalkIconScn  = (PackedScene)ResourceLoader.Load("res://Nodes/chalkIcon.tscn");

        for (int i = 0; i < colorOptions.Count; i++)
        {
            var color     = colorOptions[i];
            var chalkIcon = (chalkButton)chalkIconScn.Instance();
            var cSprite   = (Sprite)chalkIcon.GetNode("chalk_icon");
            cSprite.SelfModulate = colorOptions[i];

            var posX = currentColorIndex == i ? 20.0f:0.0f;
            chalkIcon.Position   = startPosition + new Vector2(posX, vSpace * i);
            chalkIcon.colorIndex = i;

            // Owner.AddChild(chalkIcon);
            CanvasLayer c = GetTree().GetNodesInGroup("CANVAS")[0] as CanvasLayer;
            c.AddChild(chalkIcon);
        }
    }
コード例 #28
0
    public override void _Ready()
    {
        lapTimer        = GetNode <Timer>("LapTimer");
        levelStartTimer = GetNode <Timer>("CountDownTimer");
        //Get the HUD node to enable the minipulation of its child nodes
        hud = GetNode <CanvasLayer>("HUD");
        //Get the HUD script
        hudScript = GetNode <HUD>("HUD");
        //Load the levels in the list of levels
        levels.Add(ResourceLoader.Load("res://Nodes/Level1.tscn") as PackedScene);
        levels.Add(ResourceLoader.Load("res://Nodes/Level2.tscn") as PackedScene);
        levels.Add(ResourceLoader.Load("res://Nodes/Level3.tscn") as PackedScene);

        //Grabs the ball scene and loads it in a container for quick reference
        ballScene = (PackedScene)ResourceLoader.Load("res://Nodes/Ball.tscn");
        //Connect to the HUDs signals for he show menu button functionality
        hud.Connect("ShowMenu", this, nameof(ShowMenu));
        //Connect to the HUDs signals for he show menu button functionality
        hud.Connect("ShowHUD", this, nameof(StartLevel));

        levelResetTimer = GetNode <Timer>("LevelResetTimer");
    }
コード例 #29
0
    // Called when the node enters the scene tree for the first time.
    public override void _Ready()
    {
        this.canvasLayer    = this.GetNode <CanvasLayer>("CanvasLayer");
        this.pauseScreen    = this.canvasLayer.GetNode <PauseScreen>("PauseScreen");
        this.winScreen      = this.canvasLayer.GetNode <WinScreen>("WinScreen");
        this.mainMenuScreen = this.canvasLayer.GetNode <MainMenuScreen>("MainMenuScreen");

        foreach (string scenePath in List_Of_World_Paths)
        {
            string      formattedPath = String.Format("res://{0}", scenePath);
            PackedScene scene         = (PackedScene)ResourceLoader.Load(formattedPath);

            this.LevelList.Add(scene);
        }

        // this.curGameWorld = this.GetNode<World>("World");

        this.IsPaused            = this.processStopFlag;
        this.IsMainMenuActive    = true;
        this.IsPauseScreenActive = false;
        this.IsWinScreenActive   = false;
    }
コード例 #30
0
 public override void _Ready()
 {
     _console = GetTree().Root.GetNode <CanvasLayer>("Console");
 }
コード例 #31
0
    public void initialize(CanvasConfig config, CanvasCameraConfig canvasCameraConfig, Texture2D texture=null)
    {
        canvasBuffer = new CanvasBuffer(config.canvasSize, config.bufferSize);
        this.config = config;
        canvasCamera = new CanvasCamera(canvasCameraConfig, config.canvasSize, gameObject);
        backLayer = new CanvasLayer(config.canvasSize, 100, config.layersShader, canvasCamera);
        frontLayer = new CanvasLayer(config.canvasSize, 20, config.layersShader, canvasCamera);
        radialLayer = new CanvasRadialLayer(config.canvasSize, 25, config.radialFillShader, config.radialFillTexture, canvasCamera);
        canvasCollider = CanvasCollider.createCanvasCollider (config.canvasSize, 10, gameObject, canvasCamera);

        setNewPicture(texture);
        initialized = true;

        handleInnerEvents();
    }