示例#1
0
        //użyj tej funkcji gdy aktywny przedmiot jest pierwszy raz tworzony, np. przez generator
        public GameObject CreateAvtiveObject(string prefabName, Vector3 newPosition)
        {
            GameObject   createdGO = InternalSpawn(prefabName, newPosition);
            ActiveObject createdAO = createdGO.GetComponent <ActiveObject>();

            if (createdAO == null)
            {
                Debug.LogError(prefabName + "nie posiada komponentu AktywnyObiekt");
            }
            else
            {
                createdAO.UniqueID = GetNextUniqueID();
                AOInfo aoi = new AOInfo {
                    UniqueID = createdAO.UniqueID, PrefabName = prefabName, LastPosX = 0, LastPosY = 0, LastPosZ = 0, CreatedObject = createdGO
                };
                _activeObjects.Add(createdAO.UniqueID, aoi);
                createdGO.SetActive(true);
                return(createdGO);
            }
            return(null);
        }
示例#2
0
        private void ShowActiveObject(AOInfo aoi)
        {
            Vector3 newPosition = new Vector3(aoi.LastPosX, aoi.LastPosY, aoi.LastPosZ);

            if (aoi.PrefabName == null || aoi.PrefabName == "")
            {
                Debug.LogError("aoi.prefabName is null");
            }
            else
            {
                GameObject   createdObject = InternalSpawn(aoi.PrefabName, newPosition);
                ActiveObject ao            = createdObject.GetComponent <ActiveObject>();
                if (ao == null)
                {
                    Debug.LogError(aoi.PrefabName + " nie posiada AktywnyObiekt");
                }
                else
                {
                    ao.UniqueID       = aoi.UniqueID;
                    aoi.CreatedObject = createdObject;
                }
            }
        }