Ejemplo n.º 1
0
        public int ChangeExp(int change)
        {
            var levelUp  = false;
            var extraExp = Drag + change - this.MaxDrag;


            if (extraExp >= 0)
            {
                levelUp = _rankMgr.TryLevelUp(extraExp,
                                              rankData =>
                {
                });
            }


            if (!levelUp)
            {            // 升级失败
                Drag = Mathf.Clamp(Drag + change, 0, this.MaxDrag);
//				Debug.Log($"升级失败:【{Drag}】");
            }
            else
            {
                CEventCenter.BroadMessage(Message.M_LevelUp);
//				Debug.Log($"升级成功:【{Drag}】");
            }


            return(Drag);
        }
Ejemplo n.º 2
0
    void Start()
    {
        print("Normal_Start");

        GameMgr.Instance.PlayerPos = this.PlayerPos;

        if (enableMiniMap)
        {
            MemoryMgr.InstantiateGameObject(DirPath.LittleUiDir + UiName.Image_MiniMap, GlobalVar.G_Canvas.transform);
        }

        if (!string.IsNullOrEmpty(UiPanelName))
        {
            PanelMgr.PushPanel(UiPanelName);
            if (UiPanelName == PanelName.battlePanel)
            {
                CEventCenter.BroadMessage(Message.M_RankAwake, 0, 0);
            }
        }

        if (creatTestPeople)
        {
            new TestPerson("Test", DirPath.GameObjectDir + GameObjectName.TestPerson, EnemyPos);
        }
    }
Ejemplo n.º 3
0
    // Update is called once per frame
    public override void Update()
    {
        base.Update();

        //Variables

        //灵力归元加速
        if (Player.isSuper)
        {
            if (Input.GetKeyUp(KeyCode.Z))
            {
                _afterSuperUpZ = true;
            }
            if (_afterSuperUpZ && Input.GetKeyDown(KeyCode.Z))
            {
                Debug.Log("加速");
                _afterSuperUpZ = false;
                StartAcceleration(AccelerationTime);
                CEventCenter.BroadMessage(Message.M_ExitSuper);
            }
        }


        CheckIsInAir();

        WallSlide();

        ResetJumpPoint();

        GetPlayerInput();

        BasicStateCheck();

        CalculateGravityNVelocity();
    }
Ejemplo n.º 4
0
 /// <summary>
 /// 玩家按下跳跃键后触发
 /// </summary>
 private void Jump()
 {
     if (Player.isSuper)
     {
         //High jump
         Debug.Log("High Jump");
         _stateMachine.ChangeState(PlayerStates.InAir);
         _velocity.y = _highJumpVelocity;
         _canJump--;
         _afterSuperUpZ = false;
         CEventCenter.BroadMessage(Message.M_ExitSuper);
     }
     else if (_stateMachine.State == PlayerStates.InAir && _canJump > 0)
     {
         Debug.Log("DOUBLE JUMP");
         _stateMachine.ChangeState(PlayerStates.DoubleJump);
         _velocity.y = _maxJumpVelocity;
         _canJump--;
     }
     else if (_canJump >= 1)
     {
         //Debug.Log("Normal Jump.");
         _stateMachine.ChangeState(PlayerStates.InAir);
         _velocity.y = _maxJumpVelocity;
         _canJump--;
     }
 }
 protected virtual void Update()
 {
     if (DialogInfoAssets.Count > 0 && DialogInfoAssets[0].CanGoToNext())
     {
         CEventCenter.BroadMessage(Scripts.DialogSystem.CanGoNext);
     }
 }
Ejemplo n.º 6
0
 private void Update()
 {
     if (Input.GetKeyDown(KeyCode.T))
     {
         CEventCenter.BroadMessage(Message.M_AddItem, ItemName.Bear, 1);
     }
 }
Ejemplo n.º 7
0
        //获得小经验
        private void OnChangeSmallRankAdder(int change)
        {
            this.Adder += change;
            if (Adder <= 0)
            {
                Adder = 0;
            }
            else if (Adder >= Max)
            {
                //升级!

                //Debug.Log("当前SmallRankIndex: "+this.SmallRankIndex);
                if (this.SmallRankIndex == this.LargeRank.smallRanks.Count - 1)
                {
                    //巅峰
                    if (LargeRank.BreakLimit())
                    {
                        //大突破
                        //Debug.Log("即将进入下一大等级的Index: "+this.LargeRankIndex+1);
                        CEventCenter.BroadMessage(Message.M_AchieveLargeLevel, this.LargeRankIndex + 1);
                    }
                    else
                    {
                        //等待突破
                    }
                }
                else
                {
                    //小升级
                    //Debug.Log("即将进入下一小等级Index: "+this.SmallRankIndex+1);
                    CEventCenter.BroadMessage(Message.M_AchieveSmallLevel, this.SmallRankIndex + 1);
                }
            }
        }
        public override void Execute(AbstractPerson ap)
        {
            //            Debug.Log(ap.obj.GetInstanceID()+": "+ap.IsConst);
            //如果不可选定(硬直),告辞
            //数值
            //            Debug.Log( ap.name + "收到" + this.damage + "伤害");

            //   BloodChange


            if (!ap.IsConst)
            {
                ap.TakeBattleEffect(new DamageNumberEffect(this.damage, 0.3f * ap.Scanler, Color.red, this.dir, 1f, UnityEngine.Random.Range(10, 60)));
            }


            CEventCenter.BroadMessage(Message.M_BloodChange(ap.obj), -this.damage);
            ap.OnTakeDamage(this.damage);
            if (!(ap is Player))
            {
//                Debug.Log(Message.M_ChangeSmallLevel + " " + this.damage);
                CEventCenter.BroadMessage(Message.M_ChangeSmallLevel, this.damage);
            }
            this.Release(ap);
        }
 public IEnumerator RunJumpUnit()
 {
     if (willBack == false)
     {
         CEventCenter.BroadMessage(Scripts.DialogSystem.ChooseNotBack, abstractAbstractDialogInfoAsset.name);
     }
     yield return(Scripts.DialogSystem.RunDialog(targetAsset));
 }
Ejemplo n.º 10
0
 public void OnPointerExit(PointerEventData eventData)
 {
     if (IsEmpty)
     {
         return;
     }
     CEventCenter.BroadMessage(Message.M_ReleaseItem, this);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 退出强化状态
 /// </summary>
 void ExitSuper()
 {
     if (GlobalVar.isSuper)
     {
         GlobalVar.isSuper = false;
         CEventCenter.BroadMessage(Message.M_PlayerDragChange,
                                   -GameSettings.Instance.superDragConsumeRate * MaxDrag);
     }
 }
Ejemplo n.º 12
0
 public void OnPointerEnter(PointerEventData eventData)
 {
     if (IsEmpty)
     {
         return;
     }
     Debug.Log("???");
     CEventCenter.BroadMessage(Message.M_TouchItem, this);
 }
Ejemplo n.º 13
0
 public override void OnTakeDamage(AbstractPerson takeDamageFrom, int damage)
 {
     if (IsConst)
     {
         return;
     }
     base.OnTakeDamage(takeDamageFrom, damage);
     CEventCenter.BroadMessage(Message.M_PlayerBloodChange, -Mathf.Abs(damage));
 }
        private void OnLogicFrame(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <LogicFrame>(pkg.body);

            if (null == res)
            {
                return;
            }
            CEventCenter.BroadMessage(Message.OnLogicFrame, res);
        }
Ejemplo n.º 15
0
 private void TrySuper()
 {
     // if (Convert.ToSingle(this.Exp) / Convert.ToSingle(this.MaxExp) >= 1 / 3.0f && !isSuper)
     {
         //进入强化状态
         //可能要UI,动画,特效,移动,各个领域配合
         Debug.Log("Super");
         CEventCenter.BroadMessage(Message.M_InitSuper);
         MainLoop.Instance.ExecuteLater(() => { CEventCenter.BroadMessage(Message.M_ExitSuper); }, superTime);
     }
 }
    void OnTriggerEnter2D(Collider2D col)
    {
        Debug.Log("触碰");
        //if (col.IsTouchingLayers(this.testLayers))
        {
            CEventCenter.BroadMessage(this.message, index, args);

            //this.enabled = false;

            //gameObject.SetActive(false);
        }
    }
Ejemplo n.º 17
0
        public override float OnTakeDamage(AbstractPerson takeDamageFrom, BasicDamage damage)
        {
            var realDamage = base.OnTakeDamage(takeDamageFrom, damage);

            if (realDamage > 0)
            {
                CEventCenter.BroadMessage(Message.M_PlayerBloodChange, -Mathf.RoundToInt(realDamage));
                this.IsInvincible = true;
                MainLoop.Instance.ExecuteLater(() => IsInvincible = false, this.DefaultConstTime);
            }
            return(realDamage);
        }
Ejemplo n.º 18
0
        public override float OnCauseDamage(AbstractPerson causeDamageTo, BasicDamage damage)
        {
            var realDamage = base.OnCauseDamage(causeDamageTo, damage);

            if (realDamage > 0 && System.Math.Abs(realDamage) > 0.01f)
            {
                var change = Mathf.RoundToInt(realDamage * GameSettings.Instance.damageToDragScale);
                CEventCenter.BroadMessage(Message.M_PlayerDragChange, change);
            }

//			Debug.Log($"FinalDamage:[{realDamage}]");
            return(realDamage);
        }
        private void OnPlayerEnterRoom(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <PlayerEnterRoom>(pkg.body);

            if (null == res)
            {
                return;
            }

//            Debug.Log("other player come: " + res.unick);
            //添加其他玩家信息
            NetInfo.playerAuthInfos.Add(res);
            //广播消息
            CEventCenter.BroadMessage(Message.PlayerEnterRoom, res);
        }
        private void OnGameStart(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <GameStart>(pkg.body);

            if (null == res)
            {
                return;
            }
            NetInfo.playerMatchInfos = res.players;
            foreach (var VARIABLE in res.players)
            {
                Debug.Log($"PlayerInfo side[{VARIABLE.side}], seatid[{VARIABLE.seatid}], heroid[{VARIABLE.heroid}]");
            }
            CEventCenter.BroadMessage(Message.GameStart);
        }
Ejemplo n.º 21
0
        void Start()
        {
            if (enableMiniMap)
            {
                MemoryMgr.InstantiateGameObject(UiPath.Image_MiniMapBackGround,
                                                GlobalVar.G_Canvas.transform);
            }


            if (PanelUiAsset != null)
            {
                PanelAssetMgr.PushPanel(PanelUiAsset);
            }
            CEventCenter.BroadMessage(Message.M_RankAwake, 0, 0);
        }
        private void OnExitRoomReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <ExitRoomRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            Debug.Log("exit room States: " + res.status);
            if (res.status == Responce.Ok)
            {
                NetInfo.SetZoneId(-1);
                CEventCenter.BroadMessage(Message.LeaveRoomSuccess);
            }
        }
Ejemplo n.º 23
0
        private void OnLoginLogicReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <LoginLogicRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            if (res.status != Responce.Ok)
            {
                Debug.Log("LoginLogicRes.Status:" + res.status);
                return;
            }

            CEventCenter.BroadMessage(Message.LoginLogicServerSuccess);
        }
Ejemplo n.º 24
0
        /// <summary>
        /// 账号升级返回
        /// </summary>
        /// <param name="pk"></param>
        private void OnAccountUpgradeReturn(CmdPackageProtocol.CmdPackage pk)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <AccountUpgradeRes>(pk.body);

            if (null == res)
            {
                return;
            }

            Debug.Log("AccountUpgradeRes.Status: " + res.status);
            CEventCenter.BroadMessage(Message.UpgradeGuest, res.status);

            if (res.status == Responce.Ok)
            {
                NetInfo.SetIsGuest(false);
            }
        }
Ejemplo n.º 25
0
        private void OnTryBuy(int money, AbstractCommodity item)
        {
            if (this.money + money < 0)
            {
                Debug.LogWarning("你只有: " + this.money);
                return;
            }

            this.money += money;
//            Debug.Log("当前金钱:"+this.money);
            CEventCenter.BroadMessage(Message.M_MoneyChange, money);
            if (item != null)
            {
                Debug.Log("添加了物品,id: " + item.ID);
                CEventCenter.BroadMessage(Message.M_AddItem, item.ID, 1);
            }
        }
Ejemplo n.º 26
0
        private void OnRecvLoginBonuesReturn(CmdPackageProtocol.CmdPackage pkg)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <RecvLoginBonuesRes>(pkg.body);

            if (null == res)
            {
                return;
            }
            Debug.Log("RecvLoginBonues.Status:" + res.status);

            if (res.status != Responce.Ok)
            {
                return;
            }

            NetInfo.RecvLoginBonues();
            CEventCenter.BroadMessage(Message.SyncUgameInfo);
        }
        public IEnumerator RunExWordUnit()
        {
            //如果需要用户输入才能下一步,这里就循环
            if (needInput)
            {
                while (!abstractAbstractDialogInfoAsset.CanGoToNext())
                {
                    yield return(null);
                }
            }

            CEventCenter.BroadMessage(Scripts.DialogSystem.ExternWord, this);

            while (!GetAssetMessage(Scripts.DialogSystem.EndThisDialogUnit, abstractAbstractDialogInfoAsset.name))
            {
                yield return(null);
            }
        }
Ejemplo n.º 28
0
        private bool TrySuper()
        {
            if (!InitSuper())
            {
                return(false);
            }

            // 进入强化状态

            //通知UI,动画,特效,移动,各个领域配合
            CEventCenter.BroadMessage(Message.M_InitSuper);
            MainLoop.Instance.ExecuteLater(() =>
            {
                if (GlobalVar.isSuper)
                {
                    CEventCenter.BroadMessage(Message.M_ExitSuper);
                }
            }, GameSettings.Instance.superTime);
            return(true);
        }
Ejemplo n.º 29
0
        /// <summary>
        /// 账号登陆返回
        /// </summary>
        /// <param name="pk"></param>
        private void OnUserLoginReturn(CmdPackageProtocol.CmdPackage pk)
        {
            var res = CmdPackageProtocol.ProtobufDeserialize <UserLoginRes>(pk.body);

            if (null == res)
            {
                return;
            }
            if (res.status != Responce.Ok)
            {
                Debug.LogWarning("UserLogin status: " + res.status);
                return;
            }

            //保存用户信息
            NetInfo.SaveInfo(res.uinfo, false);
            //同步网络信息
            CEventCenter.BroadMessage(Message.SyncAuthInfo);

            EnterGame();
        }
Ejemplo n.º 30
0
        public static void CauseDamageTo(this AbstractPerson attacker, AbstractPerson receiver)
        {
            Assert.IsTrue(attacker != null && receiver != null);
            if (receiver.IsConst)
            {
                return;
            }


            var damage = GameMath.Damage(attacker, receiver);

            //伤害数字
            new NumberTipUI(damage, 0.3f * receiver.Scanler, 24, Color.red, receiver.obj.transform, receiver.Dir, 1);

            CEventCenter.BroadMessage(Message.M_BloodChange(receiver.obj), -damage);
            receiver.OnTakeDamage(damage);
            if (!(receiver is Player))
            {
                CEventCenter.BroadMessage(Message.M_ChangeSmallLevel, damage);
            }
        }