Пример #1
0
        static void Main(string[] args)
        {
            Package package = new Package();;

            package.Code = 123;
            package.Args = new Regulus.Utility.Map <byte, byte[]>();

            var streamData = new System.IO.MemoryStream();

            ProtoBuf.Serializer.Serialize <Data>(streamData, new Data()
            {
                var1 = "1234567890"
            });
            streamData.Position = 0;
            var p2 = ProtoBuf.Serializer.Deserialize <Data>(streamData);

            package.Args.Add(100, streamData.ToArray());

            System.IO.MemoryStream streamActionStatue = new System.IO.MemoryStream();
            ActionStatue           actionStatus       = new ActionStatue();

            actionStatus = ActionStatue.GangnamStyle;
            ProtoBuf.Serializer.Serialize <ActionStatue>(streamActionStatue, actionStatus);
            streamActionStatue.Position = 0;
            var p1 = ProtoBuf.Serializer.Deserialize <ActionStatue>(streamActionStatue);

            package.Args.Add(120, streamActionStatue.ToArray());


            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            ProtoBuf.Serializer.Serialize <Package>(stream, package);
            stream.Position = 0;
            var p = ProtoBuf.Serializer.Deserialize <Package>(stream);
        }
Пример #2
0
        static void Main(string[] args)
        {
            Package package = new Package(); ;
            package.Code = 123;
            package.Args = new Regulus.Utility.Map<byte, byte[]>();

            var streamData = new System.IO.MemoryStream();
            ProtoBuf.Serializer.Serialize<Data>(streamData, new Data() { var1 = "1234567890" });
            streamData.Position = 0;
            var p2 = ProtoBuf.Serializer.Deserialize<Data>(streamData);
            package.Args.Add(100, streamData.ToArray());

            System.IO.MemoryStream streamActionStatue = new System.IO.MemoryStream();
            ActionStatue actionStatus = new ActionStatue();
            actionStatus = ActionStatue.GangnamStyle;
            ProtoBuf.Serializer.Serialize<ActionStatue>(streamActionStatue, actionStatus);
            streamActionStatue.Position = 0;
            var p1 = ProtoBuf.Serializer.Deserialize<ActionStatue>(streamActionStatue);
            package.Args.Add(120, streamActionStatue.ToArray());

            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            ProtoBuf.Serializer.Serialize<Package>(stream, package);
            stream.Position = 0;
            var p = ProtoBuf.Serializer.Deserialize<Package>(stream);
        }
Пример #3
0
 void IPlayer.BodyMovements(ActionStatue action_statue)
 {
     var mover = FindAbility<IMoverAbility>();
     if (mover != null)
     {
         mover.Act(action_statue, 0, 0);
     }
 }
Пример #4
0
 void IPlayer.BodyMovements(ActionStatue action_statue)
 {
     var mover = FindAbility<IMoverAbility>();
     if (mover != null)
     {
         mover.Act(new Serializable.ActionCommand() { Command = action_statue, Turn = true });
     }
 }
Пример #5
0
        void _OnAction(long begin_time, float move_speed,float direction, Regulus.Types.Vector2 unit_vector, ActionStatue action_state)
        {
            _Property.Direction = direction;

            Serializable.MoveInfomation mi = new Serializable.MoveInfomation();
            mi.ActionStatue = action_state;
            mi.MoveDirectionAngle = direction;
            CurrentAction = action_state;

            mi.BeginPosition = _Property.Position;
            mi.BeginTime = begin_time;
            mi.MoveDirection = unit_vector;
            mi.Speed = move_speed;

            if (ShowActionEvent != null)
                ShowActionEvent(mi);
        }
Пример #6
0
 private bool _CanSwitch(ActionStatue _CurrentAction, ActionStatue action_statue)
 {
     // TODO �ʰ��ݬO�_�i����
     return true;
 }
Пример #7
0
        void _Act(ActionStatue action_statue, float move_speed, float direction /* ��V���� 0~360 */)
        {
            if (_CanSwitch(_CurrentAction, action_statue))
            {
                // ���⭱��@�ɪ���V
                _Direction = (direction + _Direction) % 360;

                _CurrentAction = action_statue;
                _MoveSpeed = move_speed;

                var t = (float)((_Direction - 180) * Math.PI / 180);

                // ���ʦV�q
                //_UnitVector = new Types.Vector2() { X = (float)Math.Cos(t), Y = (float)Math.Sin(t) };
                _UnitVector = new CustomType.Vector2() { X = -(float)Math.Sin(t), Y = -(float)Math.Cos(t) };
                _Update = _First;
            }
        }
Пример #8
0
 void IMoverAbility.Act(ActionStatue action_statue, float move_speed, float direction /* ��V���� 0~360 */)
 {
     _Act(action_statue, move_speed, direction);
 }
Пример #9
0
 void IMoverAbility.Act(ActionStatue action_statue, float move_speed, float direction)
 {
 }
Пример #10
0
        private void _Act(Serializable.ActionCommand action_command)
        {
            // 角色面對世界的方向
            var moveDirection = 0.0f;
            if (action_command.Absolutely == false)
                moveDirection = (action_command.Direction + _Direction) % 360;
            else
                moveDirection = action_command.Direction % 360;

            if (action_command.Turn)
            {
                _Direction = moveDirection;
            }

            _CurrentAction = action_command.Command;
            _MoveSpeed = action_command.Speed;

            // 移動向量
            var t = (float)((moveDirection - 180) * Math.PI / 180);
            var unitVector = new CustomType.Vector2() { X = -(float)Math.Sin(t), Y = -(float)Math.Cos(t) };

            _UnitVector = unitVector;
            _Update = _First;

            if (_PrevTime < action_command.Time)
                _PrevTime = action_command.Time;
        }