Пример #1
0
        public static void SendStartSkillEvent(StartSkillInfo info)
        {
            DateTime dateTime = new DateTime(UnitsSnapReporter.Instance.SyncTicks);

            byte[] args = SerializeHelper.Serialize <StartSkillInfo>(info);
            SendMsgManager.Instance.SendPvpMsg(PvpCode.C2P_StartSkill, args);
        }
        protected override void OnSendStart()
        {
            if (Singleton <PvpManager> .Instance.IsInPvp && PvpServerStartSkillHeroList.IsStartByServer(base.unit.npc_id))
            {
                return;
            }
            StartSkillInfo startSkillInfo = new StartSkillInfo();

            startSkillInfo.unitId  = base.unit.unique_id;
            startSkillInfo.skillId = this.skillKey.SkillID;
            Vector3?targetPosition = this.targetPosition;

            if (targetPosition.HasValue)
            {
                startSkillInfo.targetPosition = MoveController.Vector3ToSVector3(this.targetPosition.Value);
            }
            List <short> list = null;

            if (this.targetUnits != null)
            {
                list = new List <short>();
                for (int i = 0; i < this.targetUnits.Count; i++)
                {
                    list.Add((short)this.targetUnits[i].unique_id);
                }
            }
            startSkillInfo.targetUnits = list;
            PvpEvent.SendStartSkillEvent(startSkillInfo);
        }