Пример #1
0
        private void OnSceneEntered(EnteredSceneMessage message)
        {
            var id            = message.GameObjectId;
            var name          = message.CharacterName;
            var @class        = message.CharacterClass;
            var direction     = message.Direction;
            var characterData = new CharacterData(name, @class, direction);

            StartCoroutine(WaitFrameAndSpawn(id, characterData));
        }
Пример #2
0
        private void OnSceneEntered(EnteredSceneMessage message)
        {
            // TODO: Remove "LocalPlayer"
            var name     = "LocalPlayer";
            var id       = message.GameObjectId;
            var x        = message.X;
            var y        = message.Y;
            var position = new Vector2(x, y);

            localEntity = AddEntity(id, name, position);
        }
Пример #3
0
        private void SendEnteredSceneMessage()
        {
            var messageCode = (byte)MessageCodes.EnteredScene;
            var message     = new EnteredSceneMessage()
            {
                GameObjectId   = player.Id,
                X              = player.Transform.Position.X,
                Y              = player.Transform.Position.Y,
                Direction      = player.Transform.Size.X,
                CharacterName  = characterData.GetName(),
                CharacterClass = characterData.GetCharacterType()
            };

            messageSender.SendMessage(messageCode, message);
        }
Пример #4
0
        private void CreateLocalDummyEntity()
        {
            var userName = UserData.CharacterData.Name;

            if (userName == null)
            {
                userName = dummyCharacter.CharacterName;
            }

            var userCharacterType = UserData.CharacterData.Type;

            if (userCharacterType == -1)
            {
                userCharacterType = (byte)dummyCharacter.CharacterClass;
            }

            var message = new EnteredSceneMessage()
            {
                GameObjectId   = dummyCharacter.DummyEntity.Id,
                X              = dummyCharacter.DummyEntity.Position.x,
                Y              = dummyCharacter.DummyEntity.Position.y,
                CharacterName  = userName,
                CharacterClass = (byte)userCharacterType
            };

            var direction = dummyCharacter.DummyEntity.Direction;

            if (direction == Player.Direction.Left)
            {
                message.Direction = 1;
            }
            else
            {
                message.Direction = -1;
            }

            var gameApi = ApiProvider.ProvideGameApi();

            gameApi.SceneEntered.Invoke(message);
        }