public override void OnBroadcastEvent(int evnetID, int targetObjID, object args = null) { if (evnetID == (int)Const_Util.BATTLE_EVENT.RANDOM_SKILL) { BattleMsgDef.RandomSkillAward randomAward = (BattleMsgDef.RandomSkillAward)args; if (randomAward.playerIdx == TestConfig.RoleHeroPlayerIdx && randomSkillSprEvent == null && randomSKillID == 0) { scrollRectTr.anchoredPosition3D = new Vector3(originScrollX, 0.0f, 0.0f); int skillCount = DataCfgMgr.instance.GetSkillCount(); randomSKillID = randomAward.skillID; int randomSkillShowNum = randomSKillID + skillCount; float skillDestPosY = (randomSkillShowNum - 1) * (randomScrollCellSize.y + randomScrollCellSpace); // show time showSkillIDCom.text = "";//randomSKillID.ToString(); skillBtnCG.interactable = false; randomSkillSprEvent = new SeqEvent(); CanvasGroupFade fadeIn = new CanvasGroupFade(skillBtnCG, 0.0f, 1.0f, TestConfig.RandomSkillFadeInTime); randomSkillSprEvent.AddEvent(fadeIn); UIAccMoveEvent accMove = new UIAccMoveEvent(scrollRectTr, new Vector3(originScrollX, skillDestPosY, 0.0f), TestConfig.RandomSkillTime, false); randomSkillSprEvent.AddEvent(accMove); OneTimerEvent showSkillNameFunc = new OneTimerEvent(ShowRandomSkillName); randomSkillSprEvent.AddEvent(showSkillNameFunc); randomSkillSprEvent.Begin(); } } }
// List<int> mRandomSkill = new List<int>(); public override void OnMsg(int msgID, object args) { if (msgID == (int)Const_Util.UNIT_MSG.GET_SKILL) { int skillCount = DataCfgMgr.instance.GetSkillCount(); int randomID = Random.Range(1, skillCount); mSkillItem.Add(randomID); BattleMsgDef.RandomSkillAward randomAward = new BattleMsgDef.RandomSkillAward(randomID, cobj.mPlayerIdx); BroadcastEventMgr.instance.TriggerEvent((int)Const_Util.BATTLE_EVENT.RANDOM_SKILL, 0, randomAward); } else if (msgID == (int)Const_Util.UNIT_MSG.SKILL_HIT_EFX) { int skillID = (int)args; SKILL skill = DataCfgMgr.instance.GetSkill(skillID); int efxParObjID = 0; GameObject efxObj = ResMgr.instance.CreateObject(skill.hit_efx, out efxParObjID); float time = ParticleUtil.GetParticleLength(efxObj.transform); efxObj.transform.position = renderCarTr.position; SkillHitEfx efx = new SkillHitEfx(skill.hit_efx, efxObj, time); efxParticles.Add(efx); } }