Exemplo n.º 1
0
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (Initialized)
            {
                if (message == null)
                {
                    return(false);
                }

                if (!(message is JediumTakeMessage))
                {
                    return(false);
                }


                Debug.Log("Take from server returned:");

                JediumTakeMessage inputMessage = (JediumTakeMessage)message;

                Debug.Log("Local ID: " + inputMessage.LocalId);
                TakingExecuting(inputMessage.ClientId, inputMessage.IsTaken);

                return(true);
            }
            else
            {
                return(false);
            }
        }
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (!Initialized)
            {
                return(false);
            }

            if (message == null)
            {
                return(false); //no empty
            }
            if (message.GetBehaviourType() != GetComponentTypeIndex())
            {
                return(false);
            }

            JediumCharacterControllerMessage msg = (JediumCharacterControllerMessage)message;

            //_charAnimator.SetFloat("V",msg.V);
            //_charAnimator.SetFloat("H",msg.H);
            //_charAnimator.SetBool("Jump",msg.Jump);
            _walkBeh.SetVH(msg.V, msg.H, msg.Jump);
            _lastV    = msg.V;
            _lastH    = msg.H;
            _lastJump = msg.Jump;
            //_charAnimator.SetBool("Jump",msg.);

            return(true);
            // throw new System.NotImplementedException();
        }
Exemplo n.º 3
0
        public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
        {
            if (message.GetType() != typeof(JediumTransformMessage))
            {
                return;
            }

            Console.WriteLine("______PROCESSING TRANSFORM MESSAGE");

            JediumTransformMessage amsg = (JediumTransformMessage)message;


            _posX   = amsg.X;
            _posY   = amsg.Y;
            _posZ   = amsg.Z;
            _quatX  = amsg.RotX;
            _quatY  = amsg.RotY;
            _quatZ  = amsg.RotZ;
            _quatW  = amsg.RotW;
            _scaleX = amsg.ScaleX;
            _scaleY = amsg.ScaleY;
            _scaleZ = amsg.ScaleZ;

            //CRASH
            // if(_parent==null)
            //     Console.WriteLine("_______NULL PARENT");
            // if(_parent.Actor==null)
            //     Console.WriteLine("___NULL ACTOR");

            _parent.Actor.SendMessageToRegisteredClients(Guid.Empty, message).Wait();

            Console.WriteLine("______END PROCESSING TRANSFORM MESSAGE");
        }
Exemplo n.º 4
0
 public void ProcessComponentMessage(Guid clientId, JediumBehaviourMessage message)
 {
     foreach (var comp in _behaviours)
     {
         comp.Value.ProcessMessage(clientId, message);
     }
 }
Exemplo n.º 5
0
 public void ProcessComponentMessage(Guid clientId, JediumBehaviourMessage message)
 {
     if (_behaviours.ContainsKey(message.GetBehaviourType()))
     {
         _behaviours[message.GetBehaviourType()].ProcessMessage(clientId, message);
     }
 }
Exemplo n.º 6
0
 //unused
 public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
 {
     // //stub
     // if (message.GetType() != typeof(JediumTouchMessage))
     //     return;
     //
     // _parent.Actor.SendMessageToRegisteredClients(clientId, message);
 }
Exemplo n.º 7
0
        public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
        {
            if (message.GetType() != typeof(JediumTakeMessage))
            {
                return;
            }

            _parent.Actor.SendMessageToRegisteredClients(Guid.Empty, message);
        }
Exemplo n.º 8
0
        public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
        {
            //stub
            if (message.GetType() != typeof(JediumAnimatorMessage))
            {
                return;
            }

            _parent.Actor.SendMessageToRegisteredClients(clientId, message);
        }
Exemplo n.º 9
0
 void IGameObjectSelfAccessor.SendMessageToRegisteredClients(Guid excludeId, JediumBehaviourMessage message)
 {
     foreach (var client in _clients)
     {
         if (client.Key != excludeId || excludeId == Guid.Empty)
         {
             client.Value.SendBehaviourMessageToClient(message);
         }
     }
 }
Exemplo n.º 10
0
 //unused
 public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
 {
     // if (message.GetType() != typeof(JediumAnimatorMessage))
     //     return;
     //
     // JediumAnimatorMessage msg = (JediumAnimatorMessage) message;
     //
     // if (!msg.IsDirectUpdate)
     //     _parent.Actor.SendMessageToRegisteredClients(clientId, message);
     // else
     //     _parent.Actor.SendMessageToRegisteredClients(Guid.Empty, message);
 }
Exemplo n.º 11
0
        public JediumBehaviourMessage GetLastMessage()
        {
            if (_messageQueue.Count > 0)
            {
                JediumBehaviourMessage ret = null;
                if (_messageQueue.TryDequeue(out ret))
                {
                    return(ret);
                }
            }

            return(null);
        }
Exemplo n.º 12
0
 public void AddSendMessage(JediumBehaviourMessage obj)
 {
     if (!_sendQueues.ContainsKey(obj.GetBehaviourType()))
     {
         //new queue
         ConcurrentQueue <JediumBehaviourMessage> c_q = new ConcurrentQueue <JediumBehaviourMessage>();
         c_q.Enqueue(obj);
         _sendQueues.Add(obj.GetBehaviourType(), c_q);
     }
     else
     {
         _sendQueues[obj.GetBehaviourType()].Enqueue(obj);
     }
 }
Exemplo n.º 13
0
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (message == null) //empty update
            {
                return(false);
            }

            if (message.GetBehaviourType() != TYPEBEHAVIOUR.GetTypeIndex(GetComponentType()))
            {
                Debug.Log("WRONG MESSAGE TYPE:" + message.GetBehaviourType() + ";" + message.GetType());
                return(false);
            }

            JediumTestBehaviourMessage tmsg = (JediumTestBehaviourMessage)message;

            Debug.Log("__GOT TEST MESSAGE:" + tmsg.SomeTestMessage);
            return(true);
        }
Exemplo n.º 14
0
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (Initialized)
            {
                if (message == null)
                {
                    return(false); //no empty update part
                }
                if (!(message is JediumTouchMessage))
                {
                    return(false);
                }

                JediumTouchMessage tmsg = (JediumTouchMessage)message;

                _log.Info("________TOUCHED:" + this.name);
                return(true);
            }

            return(false);
        }
Exemplo n.º 15
0
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (Initialized)
            {
                if (message == null)
                {
                    return(false);
                }

                if (!(message is JediumUIMessage))
                {
                    return(false);
                }


                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 16
0
 //unused
 public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
 {
     //  if (message.GetType() != typeof(JediumTransformMessage))
     //      return;
     //
     //
     //  JediumTransformMessage amsg = (JediumTransformMessage) message;
     //
     //
     //  _posX = amsg.X;
     //  _posY = amsg.Y;
     //  _posZ = amsg.Z;
     //  _quatX = amsg.RotX;
     //  _quatY = amsg.RotY;
     //  _quatZ = amsg.RotZ;
     //  _quatW = amsg.RotW;
     //  _scaleX = amsg.ScaleX;
     //  _scaleY = amsg.ScaleY;
     //  _scaleZ = amsg.ScaleZ;
     //
     //
     //  _parent.Actor.SendMessageToRegisteredClients(_parent.OwnerId, message); //.Wait();
 }
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (message == null && DoAnimStateTracking)     //empty message update
            {
                CheckAllParams();
                return(false);
            }

            if (!(message is JediumAnimatorMessage))
            {
                return(false);
            }

            JediumAnimatorMessage amsg = (JediumAnimatorMessage)message;

            SafeSetAnimatorParam(amsg);

            if (DoAnimStateTracking)
            {
                CheckAllParams();
            }
            return(true);
        }
Exemplo n.º 18
0
        public void SendTick()
        {
            //sending packs
            foreach (var queue in _sendQueues)
            {
                if (!queue.Value.IsEmpty)
                {
                    List <JediumBehaviourMessage> s_msgs = new List <JediumBehaviourMessage>(50);
                    int i = 0;
                    JediumBehaviourMessage cmsg = null;
                    do
                    {
                        if (queue.Value.TryDequeue(out cmsg))
                        {
                            s_msgs.Add(cmsg);
                            i++;
                        }
                    } while (i < MAX_PACK_SIZE && !queue.Value.IsEmpty);


                    UnityMainThreadDispatcher.Instance().Enqueue(() => { _serverConnection.WithNoReply().SendMessagePack(s_msgs.ToArray()); });
                }
            }
        }
        public override bool ProcessUpdate(JediumBehaviourMessage message)
        {
            if (Initialized)
            {
                //empty update
                //TODO - animator

                //don't process it for animator
                if (message == null)
                {
                    if (!AnimatorBased)
                    {
                        InternalSendMessage();
                    }

                    return(false);
                }



                //receive
                if (!(message is JediumTransformMessage))
                {
                    return(false);
                }

                JediumTransformMessage tmsg = (JediumTransformMessage)message;
                InternalProcessMessage(tmsg);



                return(true);
            }

            return(false);
        }
Exemplo n.º 20
0
        void HandleTick(TickMessage msg)
        {
            //sending packs
            foreach (var queue in _sendQueues)
            {
                if (!queue.Value.IsEmpty)
                {
                    List <JediumBehaviourMessage> s_msgs = new List <JediumBehaviourMessage>(50);
                    int i = 0;
                    JediumBehaviourMessage cmsg = null;
                    do
                    {
                        if (queue.Value.TryDequeue(out cmsg))
                        {
                            s_msgs.Add(cmsg);
                            i++;
                        }
                    } while (i < MAX_PACK_SIZE && !queue.Value.IsEmpty);


                    _serverConnection.WithNoReply().SendMessagePack(s_msgs.ToArray());
                }
            }
        }
 public void AddUpdate(JediumBehaviourMessage obj)
 {
     _parent.AddSendMessage(obj);
 }
Exemplo n.º 22
0
        //todo - maybe handler
        Task IGameObject.SendBehaviourMessageToServer(Guid clientId, JediumBehaviourMessage message)
        {
            _gameObject.ProcessComponentMessage(clientId, message);

            return(Task.FromResult(true));
        }
Exemplo n.º 23
0
 async Task IGameObject.SendBehaviourMessageToServer(Guid clientId, JediumBehaviourMessage message)
 {
     _gameObject.ProcessComponentMessage(clientId, message);
 }
Exemplo n.º 24
0
 public abstract bool ProcessUpdate(JediumBehaviourMessage message);
Exemplo n.º 25
0
 Task IGameObject.SendBehaviourMessageToServer(Guid clientId, JediumBehaviourMessage message)
 {
     // _serverGameObject.SendBehaviourMessageToServer(clientId, message).Wait(100); //TODO - cancellation time?
     // _serverConnection
     return(Task.FromResult(true));
 }
Exemplo n.º 26
0
 void IGameObjectObserver.SendBehaviourMessageToClient(JediumBehaviourMessage message)
 {
     _messageQueue.Enqueue(message);
 }
Exemplo n.º 27
0
 public abstract void ProcessMessage(Guid clientId, JediumBehaviourMessage message);
Exemplo n.º 28
0
 public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
 {
 }
Exemplo n.º 29
0
 //unused
 public override void ProcessMessage(Guid clientId, JediumBehaviourMessage message)
 {
     // if (message.GetBehaviourType() != GetBehaviourIndex()) return;
     //
     // _parent.Actor.SendMessageToRegisteredClients(Guid.Empty, message);
 }