123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using Sfs2X.Entities.Data;
- public class PowerMessage : Message
- {
- public PowerMessage(Power power, ISFSObject powerData)
- {
- this.cmd = Command.Attack;
- IPowerOwner owner = power.GetOwner ();
- data = new SFSObject();
- data.PutInt("p", power.GetId());
- data.PutInt("i", owner.id);
- data.PutInt ("u", owner.userId);
- data.PutInt ("c", power.crystalNeed);
- data.PutInt ("t", owner.typeId);
- Vector3 pos = owner.position;
- data.PutFloat ("x", pos.x);
- data.PutFloat ("y", pos.z);
- data.PutSFSObject("d", powerData);
- }
- public override bool AttempOverride (Message msg)
- {
- PowerMessage powerMsg = msg as PowerMessage;
- if(powerMsg == null)
- return false;
- int originPowerId = data.GetInt("p");
- int originOwnerId = data.GetInt ("i");
- int originUserId = data.GetInt ("u");
- int originTypeId = data.GetInt ("t");
- int targetPowerId = msg.data.GetInt("p");
- int targetOwnerId = msg.data.GetInt ("i");
- int targetUserId = msg.data.GetInt ("u");
- int targetTypeId = msg.data.GetInt ("t");
- int crystalNeed = data.GetInt ("c");
- if (crystalNeed > 0 && originUserId == targetUserId && originPowerId == targetPowerId)
- {
- this.data = msg.data;
- return true;
- }
- if(originPowerId == targetPowerId && originOwnerId == targetOwnerId && originTypeId == targetTypeId)
- {
- this.data = msg.data;
- return true;
- }
- return false;
- }
- }
|