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); }
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); } } }
public static float[] ToFloatArray(ISkParaNet obj) { return(obj.ToFloatArray()); }