Пример #1
0
    IEnumerator Spawn(PlayerSleepData data)
    {
        while (true)
        {
            if (IsPlayerSleeping(data))
            {
                Vector3 position = Vector3.zero;
                //GetSpawnPosition(
                //PlayerFactory.mMainPlayer.transform.position,
                //data.minRadius,
                //data.maxRadius);

                Quaternion rot = Quaternion.identity;
                //Quaternion.LookRotation(PlayerFactory.mMainPlayer.transform.position - position, Vector3.up);

                int pathID = 0;

                int typeID = (int)AiUtil.GetPointType(position);

                if (Application.loadedLevelName.Equals(GameConfig.MainSceneName))
                {
                    pathID = AISpawnDataStory.GetRandomPathIDFromType(typeID, position);
                }
                else if (Application.loadedLevelName.Equals(GameConfig.AdventureSceneName))
                {
                    int mapID  = AiUtil.GetMapID(position);
                    int areaID = AiUtil.GetAreaID(position);
                    pathID = AISpawnDataAdvSingle.GetPathID(mapID, areaID, typeID);
                }

                AIResource.Instantiate(pathID, position, rot, OnSleepSpawned);
            }
            yield return(new WaitForSeconds(data.interval));
        }
    }
Пример #2
0
 int GetPathIDAdventure()
 {
     if (mNoise == null)
     {
         return(AISpawnDataAdvSingle.GetPathID(GetMapID(), GetAreaID(), typeID));
     }
     else
     {
         if (!mIsBoss)
         {
             return(AISpawnDataAdvSingle.GetPathID(GetMapID(), GetAreaID(), typeID, GetNoiseValue()));
         }
         else
         {
             return(AISpawnDataAdvSingle.GetBossPathID(GetMapID(), GetAreaID(), typeID, GetNoiseValue()));
         }
     }
 }