Example #1
0
        public static ISkParaNet FromFloatArray(float[] data)
        {
            int        tid  = (int)data[0];
            ISkParaNet para = null;

            switch (tid)
            {
            case (int)ESkParaType.UseItemPara:
                para = new SkUseItemPara();
                para.FromFloatArray(data);
                break;

            case (int)ESkParaType.CarrierCanonPara:
                para = new SkCarrierCanonPara();
                para.FromFloatArray(data);
                break;

            case (int)ESkParaType.CarrierCollisionPara:
                para = new SkCarrierCollisionPara();
                para.FromFloatArray(data);
                break;

            case (int)ESkParaType.ShootTarget:
                para = new ShootTargetPara();
                para.FromFloatArray(data);
                break;
            }
            return(para);
        }
Example #2
0
    protected void RPC_SKStartSkill(uLink.BitStream stream, uLink.NetworkMessageInfo info)
    {
        if (hasOwnerAuth)
        {
            return;
        }
        int        id       = stream.Read <int> ();
        int        targetid = stream.Read <int> ();
        bool       sendPara = stream.Read <bool> ();
        ISkParaNet netPara  = null;

        if (sendPara)
        {
            float[] para = stream.Read <float[]> ();
            netPara = SkillSystem.SkParaNet.FromFloatArray(para);
        }
        if (runner == null)
        {
            return;
        }
        else if (runner.SkEntityPE != null)
        {
            Pathea.MotionMgrCmpt motionMgr = runner.SkEntityPE.Entity.GetCmpt <Pathea.MotionMgrCmpt> ();
            if (null != motionMgr)
            {
                Action_HandChangeEquipHold actionHand = motionMgr.GetAction <Action_HandChangeEquipHold>();
                if (null != actionHand)
                {
                    actionHand.ChangeHoldState(true);
                }
            }

            CommonInterface com = CommonInterface.GetComByNetID(targetid);
            if (com != null)
            {
                runner.SkEntityBase.StartSkill(com.SkEntityBase, id, netPara);
            }
            else
            {
                runner.SkEntityBase.StartSkill(null, id, netPara);
            }
        }
        else if (runner.SkEntityBase != null)
        {
            CommonInterface com = CommonInterface.GetComByNetID(targetid);
            if (com != null)
            {
                runner.SkEntityBase.StartSkill(com.SkEntityBase, id, netPara);
            }
            else
            {
                runner.SkEntityBase.StartSkill(null, id, netPara);
            }
        }
    }
Example #3
0
 public static float[] ToFloatArray(ISkParaNet obj)
 {
     return(obj.ToFloatArray());
 }