예제 #1
0
        private bool GetHuman()
        {
            _human = _citizenManager.m_citizens.m_buffer[(int)_id];

            if (_human.Dead)
            {
                if (!_data.IsTurnedHuman(_id) && _lastId != _id)  // only spawn zombie if not yet turned.
                {
                    _lastId = _id;
                    Vector3 position = GetPosition(_human);
                    /// Logger.Log(_citizenManager.GetCitizenName(_id) + " died at location " + _human.CurrentLocation + " at world posistion " + position);

                    uint   zombieId;
                    ushort zombieInstanceID;
                    if (Singleton <ZombieManager> .instance.CreateZombie(out zombieId, ref Singleton <SimulationManager> .instance.m_randomizer))
                    {
                        //Logger.Log("1");
                        // ZombieInfo zombieInfo = new ZombieInfo();
                        // Logger.Log("2");
                        // zombieInfo.InitializePrefab();
                        // Logger.Log("3");
                        // zombieInfo.InitializePrefabInstance();
                        // Logger.Log("4");
                        // Singleton<ZombieManager>.instance.CreateZombieInstance(out zombieInstanceID, ref Singleton<SimulationManager>.instance.m_randomizer, zombieInfo, zombieId);
                        //  Logger.Log("5");
                    }
                    // _zombieManager.SpawnZombie(position);
                    _mapping.AddTurnedMapping(_human.GetCitizenInfo(_id));
                }

                return(false);
            }

            if ((_human.m_flags & Citizen.Flags.Created) == Citizen.Flags.None)
            {
                return(false);
            }

            if ((_human.m_flags & Citizen.Flags.DummyTraffic) != Citizen.Flags.None)
            {
                return(false);
            }

            _info = _human.GetCitizenInfo(_id);

            if (_info == null)
            {
                return(false);
            }

            if (_info.m_citizenAI.IsAnimal())
            {
                return(false);
            }

            return(true);
        }