Esempio n. 1
0
        private void Client_SpawnGameObject(ClientBase sender, SpawnGameObject packet)
        {
            Console.WriteLine(packet);
            //To avoid duplicates and possibly infinite spawn loop.
            if (gameObjects.ContainsKey(packet.UID))
            {
                return;
            }

            GameObject gameObject = ObjectInstantiator.Instantiate((Objects)packet.ObjType);

            gameObject.name = packet.name;
            gameObject.UID  = packet.UID;
            if (packet.parentUID == 0)
            {
                world.AddChild(gameObject, false);
            }
            else
            {
                gameObjects[packet.parentUID].AddChild(gameObject, false); //TODO: It errors here with gameObjects[packet.parentUID] not existing, but it happens randomly
            }
            gameObjects[gameObject.UID] = gameObject;

            //TODO: MOVE THIS CODE ELSEWHERE
            Game1.worldActionScript.SetVariable(new string[] { gameObject.name }, new Dictionary <string, object>());
            Game1.worldActionScript.SetVariable(new string[] { gameObject.name, "object" }, gameObject);
        }
Esempio n. 2
0
        private void Client_SpawnGameObject(ClientBase sender, SpawnGameObject packet)
        {
            //To avoid duplicates and possibly infinite spawn loop.
            //TODO: Restrict the amount of temp ids.
            if (gameObjects.ContainsKey(packet.UID))
            {
                return;                                      //Send back an error.
            }
            if (!clientObjectIdsToServerObjectIds.ContainsKey(sender))
            {
                clientObjectIdsToServerObjectIds.Add(sender, new Dictionary <int, int>());
            }
            Dictionary <int, int> clientToServerIds = clientObjectIdsToServerObjectIds[sender];

            GameObject gameObject = ObjectInstantiator.Instantiate((Objects)packet.ObjType);

            gameObject.UID = GenerateFreeId();
            clientToServerIds[packet.UID] = gameObject.UID;


            sender.Send(new ChangeGameObjectUID()
            {
                oldUID = packet.UID, newUID = gameObject.UID
            });
            if (packet.parentUID == 0)
            {
                world.AddChild(gameObject);
            }
            else
            {
                gameObjects[clientToServerIds[packet.parentUID]].AddChild(gameObject);
            }
        }
Esempio n. 3
0
 public void Destroy()
 {
     _callback = null;
     if (_spawnGo != null)
     {
         _spawnGo.Restore();
         _spawnGo = null;
     }
 }
        public void spawnTimimg_Test()
        {
            //ARRANGE
            var spawnGameObject = new SpawnGameObject();
            var min             = 5f;
            var max             = 10f;
            var expectedOutput  = 5f;

            //ACT
            var points = spawnGameObject.spawnTimimg(min, max);

            //ASSERT
            Assert.That(points, Is.EqualTo(expectedOutput));
        }
Esempio n. 5
0
    public void Create(System.Action callback)
    {
        if (_spawnGo != null)
        {
            GameLogger.Error($"Avatar is create yet : {_avatarTable.Id}");
            return;
        }

        _callback = callback;

        // 对象池
        _spawnGo            = GameObjectPoolManager.Instance.Spawn(GetModelName());
        _spawnGo.Completed += SpawnGo_Completed;
    }
Esempio n. 6
0
 private void Client_SpawnGameObjectRequest(ClientBase sender, SpawnGameObject packet)
 {
     Console.WriteLine($"Client {Id} requested to spawn {packet.UID}:{packet.parentUID} of type {packet.ObjType};");
 }
Esempio n. 7
0
 // Use this for initialization
 void Start()
 {
     spawner    = gameObject.GetComponent <SpawnGameObject> ();
     scoreBoost = scoreBoosts [PlayerPrefManager.GetScoreBoostLvl()];
 }
Esempio n. 8
0
 void Start()
 {
     spawner = gameObject.GetComponent <SpawnGameObject> ();
     spawner.secondsBetweenSpawning = boostSpawnTimes [PlayerPrefManager.GetTimeBoostLvl()];
 }