示例#1
0
    private ChangeTracker CreateJake(Vector3 mousePoint, StateFlux.Model.Color color, GameObject parent = null)
    {
        var change = new StateFlux.Model.Change2d
        {
            Event     = ChangeEvent.Created,
            ObjectID  = "liquid_jake" + ShortGuid.Generate(),
            TypeID    = "liquid_jake",
            ParentID  = parent?.name,
            Transform = new Transform2d
            {
                Pos = mousePoint.Convert2d(),
                Vel = new Vec2d {
                    X = 0, Y = 0
                },
                Rot   = 0, //UnityEngine.Random.value * 720.0f - 360.0f,
                RotV  = UnityEngine.Random.value * 100.0f - 50.0f,
                Scale = UnityEngine.Random.value / 10f
            },
            Attributes = new StateFlux.Model.Attributes
            {
                Color = color
            }
        };
        GameObject jake = DemoGame.gameObjectTracker.StateCreateGameObject(change, StateFluxClient.Instance.isHosting);

        return(new ChangeTracker {
            gameObject = jake, create = change
        });
    }
        public string InsertPlayer(Player player)
        {
            string result = null;

            lock (this)
            {
                LazyLoadPlayerDb();
                Player existingPlayer = GetPlayerById(player.Id);
                if (existingPlayer != null)
                {
                    throw new Exception("failed to insert player, GUID already in DB");
                }
                result = player.Id = ShortGuid.Generate();
                RemoveAllPlayersWithName(player.Name); // if there are duplicate records for this username, this one wins
                player.LastUpdated = DateTime.Now;
                _players.Add(player.Id, player);
                SaveDb();
            }
            return(result);
        }