Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Cerealize cc = new Cerealize();



            MoveMsg msg = new MoveMsg(2);

            Console.ReadKey();

            msg.msgType        = 7;
            msg.pos            = new Vector3(5.555555f);
            msg.playerRotation = new Quaternion(msg.pos, 7.444444f);
            msg.cameraRotation = new Quaternion(msg.pos, 3.888888f);

            Console.WriteLine("{0} {1} {2:0.####} {3:0.####} {4:0.####} ",
                              msg.msgType, msg.from, msg.pos, msg.playerRotation, msg.cameraRotation);

            byte[] bmsg = cc.SerializeMSG(msg);

            MoveMsg tmsg = cc.DeserializeMMSG(bmsg);

            Console.WriteLine("{0} {1} {2:0.####} {3:0.####} {4:0.####} ",
                              tmsg.msgType, tmsg.from, tmsg.pos, tmsg.playerRotation, tmsg.cameraRotation);

            Console.ReadKey();
        }
Exemplo n.º 2
0
        public static MoveMsg ToMoveMsg(this Entity entity)
        {
            var msg = new MoveMsg();

            Assign(msg, entity);
            return(msg);
        }
Exemplo n.º 3
0
        public static Entity ToEntity(this MoveMsg msg)
        {
            var entity = EntityManager.Instance.CreateEntity(msg.Id);

            Assign(entity, msg);
            return(entity);
        }
Exemplo n.º 4
0
        private MoveMsg MMSGVars(byte[] vars)
        {
            byte[] from = new byte[4];
            byte[] pos  = new byte[12];
            byte[] pR   = new byte[16];
            byte[] cR   = new byte[16];

            int index = 0;

            //Console.WriteLine(vars.Length);
            Array.Copy(vars, index, from, 0, 4);
            index += 4;
            Array.Copy(vars, index, pos, 0, 12);
            index += 12;
            Array.Copy(vars, index, pR, 0, 16);
            index += 16;
            Array.Copy(vars, index, cR, 0, 16);

            MoveMsg msg = new MoveMsg(ByteInt32(from));

            msg.pos            = ByteVec3(pos);
            msg.playerRotation = ByteQuat(pR);
            msg.cameraRotation = ByteQuat(cR);

            return(msg);
        }
Exemplo n.º 5
0
    void Start()
    {
        Stage5Pos = FindObjectOfType <StagePosition>().GetComponent <StagePosition>();
        ObjLife   = GetComponent <ObjectLife>();
        ani       = GetComponent <Animator>();
        NCommand  = GetComponent <NatureCommand>();
        BCommand  = GetComponent <BattleCommand>();
        Player    = GameObject.FindWithTag("Player").GetComponent <Transform>();

        //가져와서 적용해야 할 부분
        msg = new MoveMsg();
        //가져와서 적용해야 할 부분


        Battle = new Queue();
        Peace  = new Queue();
        for (int i = 0; i < BasicPeace.Length; ++i)
        {
            Peace.Enqueue(BasicPeace [i]);
        }
        for (int i = 0; i < BasicBattle.Length; ++i)
        {
            Battle.Enqueue(BasicBattle [i]);
        }
        //while (Peace.Count > 0) {
        //	Debug.Log (Peace.Dequeue ());
        //}
        StartCoroutine("AISearching");
    }
Exemplo n.º 6
0
 public static void Assign(this MoveMsg msg, Entity entity)
 {
     msg.Id    = entity.Id;
     msg.X     = entity.Get <Pos>().X;
     msg.Y     = entity.Get <Pos>().Y;
     msg.Dir   = entity.Get <Motion>().Dir;
     msg.Speed = entity.Get <Motion>().Speed;
 }
Exemplo n.º 7
0
 public static void Assign(this Entity entity, MoveMsg msg)
 {
     EntityHelper.SetEntityId(entity, msg.Id);
     entity.Get <Pos>().X        = msg.X;
     entity.Get <Pos>().Y        = msg.Y;
     entity.Get <Motion>().Dir   = msg.Dir;
     entity.Get <Motion>().Speed = msg.Speed;
 }
Exemplo n.º 8
0
 public byte[] SerializeMSG(MoveMsg msg)
 {
     byte[] header = Header(msg.msgType);
     byte[] body   = BuildMSG(msg.from, msg.pos,
                              msg.playerRotation,
                              msg.cameraRotation);
     return(Combine(IntByte((Int64)8 + header.Length + body.Length), header, body));
 }
Exemplo n.º 9
0
        internal void OnMove(Entity entity, MessageSession session, MoveMsg msg)
        {
            entity.Assign(msg);
            entity.Get <Motion>().StartTime = DateTime.Now;
            PositionSystem.Global.Move(entity);

            entity.Broadcast <UpdatePositionMsg>(entity.Id);
        }
Exemplo n.º 10
0
    public void BattleMove(MoveMsg msg)
    {
        agent.destination = msg.destination;
        agent.speed       = msg.Speed;
        TimeLimit         = msg.time;
        time = 0.0f;

        StartCoroutine("BMove");
    }
 Message ParsePlayerAction(Message m)
 {
     return(m switch
     {
         MoveMsg _ => DecideMove((MoveMsg)m),
         PickUpMsg _ => DecideTake((PickUpMsg)m),
         TestMsg _ => DecideTest((TestMsg)m),
         PlaceMsg _ => DecidePlace((PlaceMsg)m),
         DiscoverMsg _ => DecideDiscover((DiscoverMsg)m),
         _ => new Message("Unknown"),
     });
Exemplo n.º 12
0
        // Move MSG
        private MoveMsg GetMMSG(byte[] msg, Int64 msgSize)
        {
            Int32 type = ByteInt32(msg[8]);

            byte[] seq_num = new byte[4];
            byte[] vars    = new byte[msgSize - 13];

            Array.Copy(msg, 9, seq_num, 0, 4);
            Array.Copy(msg, 13, vars, 0, msgSize - 13);

            MoveMsg MMSG = MMSGVars(vars);

            MMSG.msgType = type;
            return(MMSG);
        }