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); }
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); } }
// 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(); }
/// <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); } }
private void Update() { if (Input.GetKeyDown(KeyCode.T)) { CEventCenter.BroadMessage(Message.M_AddItem, ItemName.Bear, 1); } }
//获得小经验 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)); }
public void OnPointerExit(PointerEventData eventData) { if (IsEmpty) { return; } CEventCenter.BroadMessage(Message.M_ReleaseItem, this); }
/// <summary> /// 退出强化状态 /// </summary> void ExitSuper() { if (GlobalVar.isSuper) { GlobalVar.isSuper = false; CEventCenter.BroadMessage(Message.M_PlayerDragChange, -GameSettings.Instance.superDragConsumeRate * MaxDrag); } }
public void OnPointerEnter(PointerEventData eventData) { if (IsEmpty) { return; } Debug.Log("???"); CEventCenter.BroadMessage(Message.M_TouchItem, this); }
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); }
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); } }
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); }
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); }
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); } }
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); }
/// <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); } }
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); } }
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); } }
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); }
/// <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(); }
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); } }