コード例 #1
0
    public void SetGUI(SceneStateManager.SceneState state)
    {
        foreach(GameObject gui in showHideGuis)
            gui.SetActive(false);

        showHideGuis[(int)state].SetActive(true);
    }
コード例 #2
0
ファイル: Jump.cs プロジェクト: Streus/Sketchtroid
        public override int execute(params string[] args)
        {
            bool   saveData = false;
            string jumpRoom = "";

            jumpRoom = args [1];
            if (args.Length > 2)
            {
                saveData = args [2] == "-s";
            }

            try
            {
                if (saveData)
                {
                    SceneStateManager.GetInstance().TransitionTo(jumpRoom);
                    Console.println("Transitioned to " + jumpRoom, Console.Tag.info);
                }
                else
                {
                    SceneStateManager.GetInstance().JumpTo(jumpRoom);
                    Console.println("Jumped to " + jumpRoom, Console.Tag.info);
                }
            }
                        #pragma warning disable 0168
            catch (System.ArgumentException ae)
                        #pragma warning restore 0168
            {
                Console.println("The scene " + jumpRoom + " is invalid.", Console.Tag.error);
                return(Console.EXEC_FAILURE);
            }

            Console.println("Successfully jumped to " + jumpRoom + "!");
            return(Console.EXEC_SUCCESS);
        }
コード例 #3
0
 public static SceneStateManager GetInstance()
 {
     if (instance == null)
     {
         instance = new SceneStateManager();
         GameManager.instance.currentScene = SceneManager.GetActiveScene().name;
     }
     return(instance);
 }
コード例 #4
0
 void Start()
 {
     money         = PlayerPrefs.GetInt("Money");
     dataManager   = GetComponent <DataManager>();
     cameraManager = GetComponent <CameraManager>();
     itemManager   = GetComponent <ItemManager>();
     sceneState    = GetComponent <SceneStateManager>();
     soundManager  = GetComponent <SoundManager>();
 }
コード例 #5
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
コード例 #6
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
         InitializeCallbacks();
     }
     else
     {
         Destroy(gameObject);
     }
 }
コード例 #7
0
 protected override void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         base.Awake();
     }
     else
     {
         Destroy(gameObject);
     }
 }
コード例 #8
0
    private void OnTriggerEnter(Collider col)
    {
        if (!string.IsNullOrEmpty(loadName))
        {
            SceneStateManager.Load(loadName);
        }

        if (!string.IsNullOrEmpty(unloadName))
        {
            StartCoroutine(UnloadScene());
        }
    }
コード例 #9
0
    // Tells the SSM that a RO has been destroyed through gameplay
    private void SaveDestruction()
    {
        if (prefabPath != "")
        {
            return;
        }

        SeedCollection seed = Reap();

        seed.destroyed = true;

        SceneStateManager.GetInstance().Store(RID, seed);
    }
コード例 #10
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        if (trans.InClosing())
        {
            return;
        }
        SceneStateManager.Clear();
        trans.ClearState();
        Vector2 mousePosition;

        GetLocalPosition(eventData.position, out mousePosition);
        offSetX = Position.x - mousePosition.x;
        //Debug.Log(mousePosition);
    }
コード例 #11
0
ファイル: CratePusher.cs プロジェクト: bdach/CratePusher
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            var tileSheetTexture = Content.Load <Texture2D>("tilesheet");
            var tileSheet        = new TileSheet(tileSheetTexture);

            levelRenderer = new LevelRenderer(graphics, tileSheet);
            using (var importer = new LevelImporter("Content/levels.txt"))
            {
                levelCollection = importer.LoadLevels();
            }
            sceneStateManager = new SceneStateManager(levelCollection, levelRenderer);
        }
コード例 #12
0
ファイル: LandingPageMenu.cs プロジェクト: Streus/Sketchtroid
    public void Update()
    {
        if (Input.anyKeyDown && active)
        {
            if (nextMenu != null)
            {
                MenuManager.menusys.ShowMenu(nextMenu);
            }
            else
            {
                SceneStateManager.GetInstance().JumpTo("test1");
            }

            active = false;
        }
    }
コード例 #13
0
ファイル: SceneTransition.cs プロジェクト: Streus/Sketchtroid
    public void transition()
    {
        Scene  curr     = SceneManager.GetActiveScene();
        string nextRoom = "";

        if (curr.name.Equals("test1"))
        {
            nextRoom = "test2";
        }
        else if (curr.name.Equals("test2"))
        {
            nextRoom = "test1";
        }

        SceneStateManager.GetInstance().TransitionTo(nextRoom);
    }
コード例 #14
0
ファイル: BaseSceneState.cs プロジェクト: joyhooei/GameDemos
    //这里处理一些在各个场景都要用到的事件,如 弹出警告框,货币更新等
    public override void OnAction(SceneAction gameAction, object data)
    {
        //GameLog.Debug("current State : " + Tag + " OnAction " + gameAction);
        SceneStateManager mgr = this.SceneStateManager as SceneStateManager;

        switch (gameAction)
        {
        case SceneAction.Tips:
            break;

        case SceneAction.BackButton:
            this.ChangeState(mgr.InitialState);
            break;

        default:
            GameLog.Debug(Tag + ":" + gameAction + " No Match");
            break;
        }
    }
コード例 #15
0
    // Loads the values in a save into the GameManager for resuming a game
    public void loadGame(Save save)
    {
        saveName    = save.saveName;
        gameName    = save.gameName;
        sceneTime   = save.sceneTime;
        totalTime   = save.gameTime;
        currScene   = save.currScene;
        prevScene   = save.prevScene;
        _difficulty = save.difficulty;

        playerData = save.playerData;

        _damageTypeUnlocks = save.dtUnlocks;
        _abilities         = save.abilities;

        loadData(saveName);

        playerSpawnType = SPAWN_AT_SVPNT;
        SceneStateManager.GetInstance().JumpTo(save.currScene);
    }
コード例 #16
0
    public void Update()
    {
        if (target == null)
        {
            return;
        }

        if (turning)
        {
            //turn align with "door"
            Vector3 finalDir   = transform.up;
            Vector3 currentDir = target.transform.up;

            float dp      = Vector3.Dot(finalDir, currentDir);
            float a       = dp / (finalDir.magnitude * currentDir.magnitude);
            float angleTo = Mathf.Rad2Deg * Mathf.Acos(a);

            if (angleTo > 5f)
            {
                target.transform.rotation = Quaternion.Lerp(target.transform.rotation, transform.rotation, Time.deltaTime * 3f);
            }
            else
            {
                turning = false;
            }
        }
        else
        {
            //accelerate off screen, triggering a transition when fully off screen
            target.GetComponent <Rigidbody2D> ().AddForce(target.transform.up * 2f, ForceMode2D.Impulse);

            Vector2 screenPos = Camera.main.WorldToScreenPoint(target.transform.position);
            if (screenPos.x > Screen.width + borderPadding || screenPos.x < -borderPadding ||
                screenPos.y > Screen.height + borderPadding || screenPos.y < -borderPadding)
            {
                SceneStateManager.GetInstance().TransitionTo(destination);
            }
        }
    }
コード例 #17
0
    public SceneStateManager(SerializationInfo info, StreamingContext context)
    {
        Type scene_type = typeof(Dictionary <string, Dictionary <string, SeedCollection> >);
        Type rt_type    = typeof(Dictionary <string, float>);

        scenes      = (Dictionary <string, Dictionary <string, SeedCollection> >)info.GetValue("scenes", scene_type);
        resetTimers = (Dictionary <string, float>)info.GetValue("resetTimers", rt_type);

        ignoreSet = new HashSet <string> ();
        int igSize = info.GetInt32("ignoreSetSize");

        for (int i = 0; i < igSize; i++)
        {
            ignoreSet.Add((string)info.GetValue("ignoreSet" + i, typeof(string)));
        }

        //replace existing SSM
        SceneManager.activeSceneChanged -= instance.ActiveSceneTransitioned;
        SceneManager.activeSceneChanged += ActiveSceneTransitioned;

        instance = this;
    }
コード例 #18
0
    public void Awake()
    {
        if (_instance == null)
        {
            _instance = this;
            DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }

        SceneStateManager.GetInstance().IgnoreCurrentScene();

        paused    = false;
        pauseLock = false;

        saveName    = "";
        gameName    = "";
        sceneTime   = 0f;
        totalTime   = 0.0;
        currScene   = "";
        prevScene   = "";
        _difficulty = Difficulty.easy;

        _player         = null;
        playerData      = null;
        playerSpawnType = 0;

        _damageTypeUnlocks = 0;
        unlockDT(DamageType.PHYSICAL);

        _abilities = 0;

        saveDirectory = Application.persistentDataPath + Path.DirectorySeparatorChar
                        + "saves" + Path.DirectorySeparatorChar;
        dataDirectory = Application.persistentDataPath + Path.DirectorySeparatorChar
                        + "data" + Path.DirectorySeparatorChar;
    }
コード例 #19
0
ファイル: InitialState.cs プロジェクト: joyhooei/GameDemos
    public override void OnAction(SceneAction gameAction, object data)
    {
        SceneStateManager mgr = this.SceneStateManager as SceneStateManager;

        switch (gameAction)
        {
        case SceneAction.ToTest:
            this.ChangeState(mgr.TestState);
            break;

        case SceneAction.ToGame_1:
            this.ChangeState(mgr.Game1State);
            break;

        case SceneAction.BackButton:
            this.ChangeState(null);
            break;

        default:
            base.OnAction(gameAction, data);
            break;
        }
    }
コード例 #20
0
    // Save the SceneStateManager
    public void saveData()
    {
        if (!Directory.Exists(dataDirectory))
        {
            Directory.CreateDirectory(dataDirectory);
        }

        FileStream file = File.Open(dataDirectory + saveName + ".dat", FileMode.OpenOrCreate);

        BinaryFormatter formatter = new BinaryFormatter();

        try
        {
            formatter.Serialize(file, SceneStateManager.GetInstance());
        }
        catch (SerializationException se)
        {
            Debug.LogException(se);
        }
        finally
        {
            file.Close();
        }
    }
コード例 #21
0
 private void Awake()
 {
     if (instance == null)
         instance = this;
 }
コード例 #22
0
ファイル: BaseSceneState.cs プロジェクト: joyhooei/GameDemos
 protected BaseSceneState(SceneStateManager stateManager) : base(stateManager)
 {
     this.SceneStateManager = stateManager;
 }
コード例 #23
0
ファイル: MainState.cs プロジェクト: lijianfex/GameDesignMode
 public MainState(SceneStateManager sceneStateManager) : base("02Main", sceneStateManager)
 {
 }
コード例 #24
0
 public LevelState(SceneStateManager Manager) : base(Manager)
 {
     this.StateName = "LevelScene";
     Ass.Instance.Initinal();
 }
コード例 #25
0
ファイル: SceneTransition.cs プロジェクト: Streus/Sketchtroid
 public void debugSSM()
 {
     Debug.Log(SceneStateManager.GetInstance().ToString());
 }
コード例 #26
0
 void Start()
 {
     stateManager = GameManager.instance.GetComponent <SceneStateManager>();
     roomState    = GameObject.Find("Boxes").GetComponent <RoomState>();
 }
コード例 #27
0
    /* Instance Vars */

    /* Instance Methods */
    public void ContinueGame()
    {
        //TODO continue button functionality
        SceneStateManager.GetInstance().JumpTo("test1");         //DEBUG temp continue func
    }
コード例 #28
0
    protected override void Update()
    {
        base.Update();

        // ESC
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Debug.Log("press key ESC : Application Quit");
            DebugConsole.Log("press key ESC : Application Quit");

            if (Application.platform != RuntimePlatform.WindowsEditor)
            {
                // アプリケーション終了
                Application.Quit();
            }
        }

        // D
        if (Input.GetKeyDown(KeyCode.D))
        {
            Debug.Log("press key D : Visible Debug View");
            DebugConsole.Log("press key D : Visible Debug View");

            // デバッグ表示のトグル
            DebugManager debugManager = AppMain.Instance.debugManager;
            debugManager.IsDebug = !debugManager.IsDebug;
            debugManager.ToggleShowDebugView();
        }

        // C
        if (Input.GetKeyDown(KeyCode.C))
        {
            Debug.Log("press key C : Clear DebugConsole");
            DebugConsole.Log("press key C : Clear DebugConsole");

            // デバッグコンソールのクリア
            DebugConsole.Clear();
        }

        // W
        if (Input.GetKeyDown(KeyCode.W))
        {
            Debug.Log("press key W : Change DebugConsole Mode");
            DebugConsole.Log("press key W : Change DebugConsole Mode");

            // デバッグコンソールのモードを切り替える
            if (DebugConsole.IsOpen)
            {
                if (DebugConsole.Instance.mode == DebugConsole.Mode.Log)
                {
                    DebugConsole.Instance.mode = DebugConsole.Mode.WatchVars;
                }
                else
                {
                    DebugConsole.Instance.mode = DebugConsole.Mode.Log;
                }
            }
        }

        // G
        if (Input.GetKeyDown(KeyCode.G))
        {
            Debug.Log("press key G : System GC Collect");
            DebugConsole.Log("press key G : System GC Collect");

            // 強制CG
            System.GC.Collect();
        }

        // R
        if (Input.GetKeyDown(KeyCode.R))
        {
            Debug.Log("press key R : Reload ApplicationSetting");
            DebugConsole.Log("press key R : Reload ApplicationSetting");

            // 設定ファイルの再読み込み
            ApplicationSetting.Instance.LoadXML();
        }

        // Space
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Debug.Log("press key Space : Change Stage");
            DebugConsole.Log("press key Space : Change Stage");

            // ステージの変更
            SceneStateManager sceneStateManager = AppMain.Instance.sceneStateManager;
            TimeManager       timeManager       = AppMain.Instance.timeManager;
            if (sceneStateManager.CurrentState == SceneStateManager.SceneState.STARTUP)
            {
                sceneStateManager.ChangeState(SceneStateManager.SceneState.WAIT);
            }
            else if (sceneStateManager.CurrentState == SceneStateManager.SceneState.WAIT)
            {
                sceneStateManager.ChangeState(SceneStateManager.SceneState.PLAY);
            }
            else if (sceneStateManager.CurrentState == SceneStateManager.SceneState.PLAY)
            {
                timeManager.timerEvents[0].StartTimer(ApplicationSetting.Instance.GetInt("GameTime"));
            }
            else if (sceneStateManager.CurrentState == SceneStateManager.SceneState.RESULT)
            {
                sceneStateManager.ChangeAsyncState(SceneStateManager.SceneState.WAIT);
            }
        }
    }
コード例 #29
0
ファイル: GameLoop.cs プロジェクト: lijianfex/GameDesignMode
 void Start()
 {
     sceneStateManager = new SceneStateManager();
     sceneStateManager.SetState(new StartState(sceneStateManager), false);
 }
コード例 #30
0
 public ISceneState(string sceneName, SceneStateManager sceneStateManager)
 {
     mSceneName         = sceneName;
     mSceneStateManager = sceneStateManager;
 }
コード例 #31
0
 public Game1State(SceneStateManager stateManager)
     : base(stateManager)
 {
     this.BaseSceneController = new Game1SceneController();
 }