コード例 #1
0
        public void StartGame()
        {
            //得到模型层类的对象实例

            dataProxy =
                Facade.GetInstance(() => new AppFacade()).RetrieveProxy(Mod_GameDataProxy.NAME) as Mod_GameDataProxy;

            StartCoroutine(GetTime());
        }
コード例 #2
0
        ////void StartGame() {
        ////	??? 需要开始游戏后才处理 ???
        ////	需要延迟的方法
        ////	至少每次重新开始游戏,都要进行一次
        ////	_proxyObj = Facade.GetInstance(() => new AppFacade()).RetrieveProxy(Mod_GameDataProxy.NAME) as Mod_GameDataProxy;
        ////}

        void OnTriggerEnter2D(Collider2D collision)
        {
            //至少每次重新开始游戏,都要进行一次
            _proxyObj = Facade.GetInstance(() => new AppFacade()).RetrieveProxy(Mod_GameDataProxy.NAME) as Mod_GameDataProxy;

            if (GlobalParams.IsStartGame && collision.gameObject.tag == "Player")
            {
                _proxyObj?.AddScore();
            }
        }
コード例 #3
0
        /// <summary>
        /// 要执行的对应命令
        /// </summary>
        /// <param name="notification"></param>
        public override void Execute(INotification notification)
        {
            GlobalParams.IsStartGame = false;

            //停止脚本运行。
            StopScriptRunning();

            //保存当前最高分数
            //使用了一种面向接口的方法,就不需要调用GetInstance方法了
            _proxyObj = Facade.RetrieveProxy(Mod_GameDataProxy.NAME) as Mod_GameDataProxy;
            _proxyObj?.SaveHighestScore();
            //重置游戏数据
            _proxyObj?.ResetData();

            //关闭当前UI窗体,回到引导窗体
            CloseCurrentUIForm();
        }