示例#1
0
 void Start()
 {
     animator    = GetComponent <Animator>();
     protagonist = GetComponent <Protagonist>();
     tempStage   = protagonist.GetStage();
     EventCenter.GetInstance().AddEventListener("UpdateAnimation", UpdateAnimation);
 }
    public void GameEnd()
    {
        Vector3 campoint = InputController.GetInstance().GetMainCam.WorldToScreenPoint(transform.parent.position);
        Vector2 center   = new Vector2(campoint.x / Screen.width, campoint.y / Screen.height);

        EventCenter.GetInstance().EventTrigger <Vector2>("GameEndVector2", center);
        EventCenter.GetInstance().EventTrigger("GameEnd");
        EventCenter.GetInstance().RemoveEventListener(EventData.playerReset, GameReset);

        if (gameData != null)
        {
            gameData.gameClearanceTime = (System.DateTime.Now - gameData.startTime).ToString();
            gameData.gameClearanceDate = System.DateTime.Now.ToString();
        }

        if (GameDataController.GetInstance() != null && GameDataController.GetInstance().sceneData != null)
        {
            string sceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name;
            if (GameDataController.GetInstance().sceneData.GetIsLock(sceneName))
            {
                //Debug.Log("GetIsLock");
                GameDataController.GetInstance().sceneData.ChangeSceneLock(sceneName, false);
            }

            GameDataController.GetInstance().GameSave();
        }



#if UNITY_IOS || UNITY_ANDROID
        InputController.GetInstance().IphoneShake();
#endif
    }
 public void RemoveListener()
 {
     EventCenter.GetInstance().RemoveEventListener <float>("Loading", GetProgress);
     EventCenter.GetInstance().RemoveEventListener <Vector2>("GameEndVector2", GameEnd);
     MonoMgr.GetInstance().RemoveLateUpdateListener(EndGameTimer);
     EventCenter.GetInstance().RemoveEventListener(EventData.gameReset, WhiteMaskEvent);
 }
示例#4
0
        void r_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton r = (RadioButton)sender;

            if (r.Checked)
            {
                ((Port)r.Tag).Enabled = true;
                currentPort           = (Port)r.Tag;
                #region ~通知主界面
                Dic    dic    = new Dic();
                string status = "";
                if (currentPort.Isopen)
                {
                    status = "打开";
                }
                else
                {
                    status = "关闭";
                }
                dic[EventName.status] = string.Format("当前串口:{0} 波特率:{1} 状态:{2}", currentPort.portname, currentPort.baurate, status);
                EventCenter.GetInstance().PostNotification(EventName.Update_com_status, dic);
                #endregion
            }
            else
            {
                ((Port)r.Tag).Enabled = false;
            }
        }
        /// <summary>
        /// 当lua 、AssetBudle 更新模块比对完成MD5 准备下载前
        ///
        /// </summary>
        /// <param name="size"></param>
        private void OnLuaOrABundleCompareComplete(int size)
        {
            //Debug.Log("ccccccccccccccccccccccc size=" + size);
            m_TotalNeedDownLoadSize += size;
            if (m_AssetUpdateManager_AssetBundleScript.m_IsBegingAssetUpdate == false && m_AssetUpdateManager_LuaScript.m_IsBegingAssetUpdate)
            {
                m_AssetUpdateManager_AssetBundleScript.CheckLoadAssetUpdateState();
                Debug.LogInfor(">>>开始检测AssetBundle 资源状态");
                return;
            }
            if (m_AssetUpdateManager_LuaScript.m_IsBegingAssetUpdate == false || m_AssetUpdateManager_AssetBundleScript.m_IsBegingAssetUpdate == false)
            {
                Debug.LogError("OnLuaOrABundleCompareComplete  失败,lua资源状态不对");
                return;
            }
            if (m_AssetUpdateManager_LuaScript.m_IsCompleteMD5 && m_AssetUpdateManager_AssetBundleScript.m_IsCompleteMD5)
            {
                Debug.LogInfor(">>OnLuaOrABundleCompareComplete  BeginDownLoad  Total Size=" + m_TotalNeedDownLoadSize);
                m_UITestAssetUpdateView.ShowAssetStateInfor("资源版本校验完成..");
                EventCenter.GetInstance().DelayDoEnumerator(2, () =>
                {
                    m_UITestAssetUpdateView.ShowAssetStateInfor("开始更新下载资源..", m_TotalNeedDownLoadSize);
                    m_UITestAssetUpdateView.BeginUpdateProcess();

                    m_AssetUpdateManager_LuaScript.BeginUpdateAsset();
                    m_AssetUpdateManager_AssetBundleScript.BeginUpdateAsset();
                });
            }
        }
示例#6
0
 /// <summary>
 /// 移除监听事件
 /// </summary>
 public override void RemoveListener()
 {
     EventCenter.GetInstance().RemoveEventListener(EventData.gameEnd, GameEnd);
     EventCenter.GetInstance().RemoveEventListener(EventData.gameReset, GameReset);
     EventCenter.GetInstance().RemoveEventListener(EventData.gamePause, GamePause);
     EventCenter.GetInstance().RemoveEventListener(EventData.gameContinue, GameContinue);
 }
示例#7
0
        public void TriggerRandEvent(string name)
        {
            if (_randEventList == null)
            {
                Debug.Log("随机时间池为空");
                return;
            }

            foreach (var item in _randEventList)
            {
                if (item._name != null && item._name.Trim() == name.Trim())
                {
                    float rand      = Random.Range(0.000f, 1.000f);
                    float tmpChange = item._chance;
                    if (!item._positive)
                    {
                        tmpChange = tmpChange * multiplier;
                    }
                    if (rand <= tmpChange)
                    {
                        EventCenter.GetInstance().EventTrigger <RandEvent>("随机事件影响", item);
                        EventCenter.GetInstance().EventTrigger <RandEvent>("随机事件弹窗", item);
                        //Debug.Log(name + "事件发生且弹框");
                    }
                    return;
                }
            }
            Debug.Log("没有找到随机事件,名称:" + name + ". 请检查触发器和事件池中的名称是否一致.");
        }
示例#8
0
 private void StartSpeechSyn(string word)
 {
     StartCoroutine(_asr.Synthesis(word, s =>
     {
         if (s.Success)
         {
             audioSource.clip = s.clip;
             audioSource.Play();
             startPlaying = true;
             if (isOwnSpeak)
             {
                 return;
             }
             if (isListening)
             {
                 EventCenter.GetInstance().EventTrigger(MyEventType.GETWAVED);
             }
             else
             {
                 EventCenter.GetInstance().EventTrigger(MyEventType.SAY);
             }
         }
         else
         {
             Debug.LogError("合成失败!");
         }
     }));
 }
示例#9
0
 /// <summary>
 /// 买商品
 /// </summary>
 public void BuyItem()
 {
     print("查看数据1" + info.priceType);
     print("查看数据2" + GameDataMgr.GetInstance().playerInfo.money);
     print("查看数据3" + info.price);
     //判断钱够不够
     if (info.priceType == 1 && GameDataMgr.GetInstance().playerInfo.money >= info.price)
     {
         //数据添加到玩家背包
         GameDataMgr.GetInstance().playerInfo.AddItem(info.itemInfo);
         EventCenter.GetInstance().EventTrigger <int>("MoneyChange", -info.price);
         TipMgr.GetInstance().ShowOneTipPanel("用金币购买成功");
     }
     //判断宝石够不够
     else if (info.priceType == 2 && GameDataMgr.GetInstance().playerInfo.gem >= info.price)
     {
         //数据添加到玩家背包
         GameDataMgr.GetInstance().playerInfo.AddItem(info.itemInfo);
         EventCenter.GetInstance().EventTrigger <int>("GemChange", -info.price);
         TipMgr.GetInstance().ShowOneTipPanel("用宝石购买成功");
     }
     //货币不足
     else
     {
         print("查看现在是不是没钱了");
         //这个panel就是OneBtnTipPanel所创建的对象,所以可以通过这个调用内部的方法,panel是在Uimanager里面创建并传过来的
         UIManager.GetInstance().ShowPanel <OneBtnTipPanel>("BuyTipPanel", E_UI_Layer.Top, (panel) =>
         {
             panel.InitTipText("钱不够了");
         });
     }
 }
示例#10
0
    void Update_Dash()
    {
        //按下空格开始dash
        if (Input.GetKeyDown(KeyCode.Space))
        {
            //判断冷却是否过去了,是否停止了dash
            if (dashCoolCounter <= 0 && dashCounter <= 0)
            {
                activeMoveSpeed = dashSpeed;
                dashCounter     = dashLength;

                //给动画层发送消息要Trgger
                EventCenter.GetInstance().EventTrigger(Consts.EventName.PlayerDash);
            }
        }

        if (dashCounter > 0)
        {
            dashCounter -= Time.deltaTime;
            if (dashCounter <= 0)
            {
                activeMoveSpeed = moveSpeed;
                dashCoolCounter = dashCoolDown;
            }
        }

        if (dashCoolCounter > 0)
        {
            dashCoolCounter -= Time.deltaTime;
        }
    }
示例#11
0
    private void Update()
    {
        if (target == null)
        {
            theRB.velocity = Vector2.zero;
            return;
        }

        if (Vector3.Distance(this.transform.position, target.position) < rangeToChasePlayer)
        {
            moveDirection = target.position - transform.position;
            //此时找到了玩家 触发攻击事件
            EventCenter.GetInstance().EventTrigger <Vector3>(Consts.EventName.EnemyAttack, moveDirection);
        }
        else
        {
            moveDirection = Vector2.zero;
        }
        moveDirection.Normalize();
        theRB.velocity = moveDirection * moveSpeed;

        //判断移动方向
        if (moveDirection != Vector3.zero)
        {
            EventCenter.GetInstance().EventTrigger(Consts.EventName.EnemyMove);
        }
        else
        {
            EventCenter.GetInstance().EventTrigger(Consts.EventName.EnemyIdle);
        }
    }
示例#12
0
    // Start is called before the first frame update
    void Start()
    {
        InputMgr.GetInstance().StartOrEndCheck(true);

        EventCenter.GetInstance().AddEventListener <KeyCode>("按下某键", CheckInputDown);
        EventCenter.GetInstance().AddEventListener <KeyCode>("抬起某键", CheckInputUp);
    }
示例#13
0
 private void CheckButtonUp(string name)
 {
     if (Input.GetButtonUp(name))
     {
         EventCenter.GetInstance().EventTrigger(name + " ButtonUp");
     }
 }
示例#14
0
 /// <summary>
 /// 用来检测鼠标按下
 /// </summary>
 private void getMouseDown()
 {
     if (Input.GetMouseButtonDown(0))
     {
         EventCenter.GetInstance().EventTrigger("鼠标按下");
     }
 }
示例#15
0
    void Start()
    {
        EventCenter.GetInstance().AddEventListener("TransitData", () => {
            List <string> tmpBehav = new List <string>();
            foreach (var item in viewers)
            {
                if (item.toggleObject.isOn)
                {
                    tmpBehav.Add(item.toggleSelection.text);
                }
            }
            _protagonist.UpdateBehaviourSelect(tmpBehav);
        });

        EventCenter.GetInstance().AddEventListener("UpdateUI", UpdateBehavPanel);

        _protagonist = GameManager.instance.playerAgent.GetComponent <Protagonist>();
        viewers      = transform.GetComponentsInChildren <CustomToggle>();

        foreach (var behav in _protagonist.behaviours._behaviourList)
        {
            if (!behavDic.ContainsKey(behav._availibleStage))
            {
                behavDic.Add(behav._availibleStage, new List <string>());
            }
            behavDic[behav._availibleStage].Add(behav._name);
        }
        UpdateBehavPanel();
    }
示例#16
0
    public void RemoveListener()
    {
        if (helpBtn)
        {
            helpBtn.onClick.RemoveListener(HelpButtonEvent);
        }
        if (listBtn)
        {
            listBtn.onClick.RemoveListener(ListButtonEvent);
        }
        if (audioBtn)
        {
            audioBtn.onClick.RemoveListener(AudioButtonEvent);
        }
        if (studioBtn)
        {
            studioBtn.onClick.RemoveListener(StudioButtonEvent);
        }
        if (homeBtn)
        {
            homeBtn.onClick.RemoveListener(HomeButtonEvent);
        }

        EventCenter.GetInstance().RemoveEventListener("PartUIToMainUI", ShowUI);
        EventCenter.GetInstance().RemoveEventListener(EventData.HideHelpUI, ShowUI);
        EventCenter.GetInstance().RemoveEventListener(EventData.HideStudioUI, ShowUI);
    }
示例#17
0
    private void CheckAndUpdateConditionData()
    {
        _overallSans += _sansPer;
        _motor       += _motorPer;
        _nerve       += _nervePer;
        _endoc       += _endocPer;
        _circul      += _circulPer;
        _breath      += _breathPer;
        _digest      += _digestPer;
        _urinary     += _urinaryPer;
        _reprod      += _reprodPer;
        _ownMoney    += _moneyPer;

        if (_overallHealth < 0 || _overallSans < 0 || _motor < 0 || _nerve < 0 || _endoc < 0 || _circul < 0 || _breath < 0 || _digest < 0 || _urinary < 0 || _reprod < 0)
        {
            Debug.Log("GAME OVER");
            EventCenter.GetInstance().EventTrigger("GAMEOVER");
        }
        _overallSans   = _overallSans > 30 ? 30 : _overallSans;
        _overallHealth = _overallHealth > 30 ? 30 : _overallHealth;
        _motor         = _motor > 30 ? 30 : _motor;
        _nerve         = _nerve > 30 ? 30 : _nerve;
        _endoc         = _endoc > 30 ? 30 : _endoc;
        _circul        = _circul > 30 ? 30 : _circul;
        _breath        = _breath > 30 ? 30 : _breath;
        _digest        = _digest > 30 ? 30 : _digest;
        _urinary       = _urinary > 30 ? 30 : _urinary;
        _reprod        = _reprod > 30 ? 30 : _reprod;
    }
示例#18
0
 protected override void Start()
 {
     sp   = transform.GetComponent <SpriteRenderer>();
     box  = GetComponent <BoxCollider2D>();
     anim = GetComponent <Animator>();
     EventCenter.GetInstance().AddEventListener("GameManagerInit", InitUpgradeTower);
 }
示例#19
0
        public void Start()
        {
            canvas = GetComponent <Canvas>();

            UiStack           = new Stack <GameObject>();
            timeCountList     = new List <GameObject>();
            chooseTowerPanel  = transform.Find("ChooseTower") as RectTransform;
            settingPanel      = transform.Find("Setting") as RectTransform;
            upGradeTowerPanel = transform.Find("UpGradeTower") as RectTransform;
            hightLightRect    = transform.Find("HightLight") as RectTransform;

            playerPackageRect = transform.Find("PlayerPackage") as RectTransform;

            resTextDic = new Dictionary <ResType, Text>();
            for (int i = 0; i != (int)ResType.End; i++)
            {
                ResType type = (ResType)i;
                Text    text = playerPackageRect.Find(type.ToString()).Find("Text").GetComponent <Text>();
                if (text != null)
                {
                    resTextDic.Add(type, text);
                }
            }

            timerList      = transform.Find("TimerList");
            timeCountPanel = transform.Find("TimeCountPanel");

            timer   = timerList.Find("TimeCount").gameObject;
            uiEvent = gameObject.AddComponent <UIEvent>();
            EnemyUi = transform.Find("EnemyUi").GetComponent <EnemyUiManager>();

            EventCenter.GetInstance().AddEventListener("GameManagerInitComplete", Init);

            EnemyUi.SetUiCamera(UiCamera);
        }
示例#20
0
    /// <summary>
    /// 一只手指输入
    /// </summary>
    private void GetTouchTarget()
    {
        if (Input.touchCount <= 0 || Input.touchCount > 1)
        {
            return;
        }

        if (cam == null || cam != Camera.main)
        {
            cam = Camera.main;
            fwd = cam.transform.forward;
        }

        if (1 == Input.touchCount && Input.GetTouch(0).phase != TouchPhase.Moved)
        {
#if UNITY_EDITOR
            UnityEngine.Debug.Log("TouchTarget");
#endif

            Touch touch = Input.GetTouch(0);


            Vector2 pos = touch.position;
            Ray ray     = cam.ScreenPointToRay(pos);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                targetObj = hit.collider.gameObject;    //获得选中物体
                EventCenter.GetInstance().EventTrigger <GameObject>("OnClickAnim", targetObj);
                EventCenter.GetInstance().EventTrigger <GameObject>("OnClickBody", targetObj);
            }
            else
            {
                targetObj = null;
            }

            if (isTouchDown)
            {
                isTouchDown = false;

                nTempTime = System.DateTime.Now;

                if (nTempTime - oTempTime < span)
                {
#if UNITY_EDITOR
                    UnityEngine.Debug.Log("isTouchDown");
#endif
                    isTouchTwoDown = true;
                    EventCenter.GetInstance().EventTrigger <GameObject>("TwoOnClickBody", targetObj);
                }
                else
                {
                    isTouchTwoDown = false;
                }

                oTempTime = nTempTime;
            }
        }
    }
示例#21
0
 public virtual void SetHouse(SoldierTower house)
 {
     _house           = house;
     _curProperty.atk = house.soliderAtk;
     eventId          = house.name;
     EventCenter.GetInstance().AddEventListener($"{eventId}UpGrade", TowerUpgrade);
     EventCenter.GetInstance().AddEventListener($"{eventId}Destory", TowerDestory);
 }
示例#22
0
    private void CheckMovement()
    {
        float Horizontal = Input.GetAxis("Horizontal");
        float Vertical   = Input.GetAxis("Vertical");

        EventCenter.GetInstance().EventTrigger <float>("Horizontal", Horizontal);
        EventCenter.GetInstance().EventTrigger <float>("Vertical", Vertical);
    }
示例#23
0
 private void ExitItemCell(BaseEventData data)
 {
     if (itemInfo == null)
     {
         return;
     }
     EventCenter.GetInstance().EventTrigger <ItemCell>("ItemCellExit", this);
 }
示例#24
0
    IEnumerator CountForSleep()
    {
        Debug.Log("开始计时");
        yield return(new WaitForSecondsRealtime(8f));

        EventCenter.GetInstance().EventTrigger(MyEventType.SLEEP);
        Debug.Log("完成");
    }
示例#25
0
 protected override void Start()
 {
     base.Start();
     maxHp = Hp;
     curHp = Hp;
     transform.position = VTool.ToTilePos(transform.position);
     EventCenter.GetInstance().AddEventListener("GameManagerInit", InitCastle);
 }
示例#26
0
    public void Init()
    {
        InitPointLine();
        InitTypeDic();
        InitStartAndFinishPoints();

        EventCenter.GetInstance().EventTrigger("GameManagerInitComplete");
    }
示例#27
0
    private void CheckAxis()
    {
        float Horizontal = Input.GetAxis("Horizontal");
        float Vertical   = Input.GetAxis("Vertical");

        (float, float)Axis = (Horizontal, Vertical);
        EventCenter.GetInstance().EventTrigger <(float, float)>("Axis", Axis);
    }
示例#28
0
    private void CheckAxisRaw(String target)
    {
        float Horizontal = Input.GetAxisRaw("Horizontal");
        float Vertical   = Input.GetAxisRaw("Vertical");

        (float, float)AxisRaw = (Horizontal, Vertical);
        EventCenter.GetInstance().EventTrigger <(float, float)>(target + "AxisRaw", AxisRaw);
    }
示例#29
0
 public void Init()
 {
     EventCenter.GetInstance().AddEventListener <ItemCell>("ItemCellBeginDrag", BeginDragItemCell);
     EventCenter.GetInstance().AddEventListener <BaseEventData>("ItemCellDrag", DragItemCell);
     EventCenter.GetInstance().AddEventListener <ItemCell>("ItemCellEndDrag", EndDragItemCell);
     EventCenter.GetInstance().AddEventListener <ItemCell>("ItemCellEnter", EnterItemCell);
     EventCenter.GetInstance().AddEventListener <ItemCell>("ItemCellExit", ExitItemCell);
 }
示例#30
0
 protected override void OnDestroy()
 {
     base.OnDestroy();
     if (GameManager.Instance.testEnemy)
     {
         EventCenter.GetInstance().RemoveEventListener("UiManagerInitComplete", Init);
     }
 }