Beispiel #1
0
        private void TryAddReference(Object asset)
        {
            switch (asset)
            {
            case GameObject gameObject:
                if (!PrefabReferences.Contains(gameObject))
                {
                    PrefabReferences.Add(gameObject);
                }
                break;

            case ScriptableObject scriptableObject:
                if (!ScriptableObjectReferences.Contains(scriptableObject))
                {
                    ScriptableObjectReferences.Add(scriptableObject);
                }
                break;

            case MonoBehaviour monoBehaviour:
                if (!SceneReferences.Contains(monoBehaviour))
                {
                    SceneReferences.Add(monoBehaviour);
                }
                break;

            default:
                Debug.LogErrorFormat($"Unexpected Type. Found Object [{asset}], is {asset.GetType()} with base Type {asset.GetType().BaseType}.");
                break;
            }
        }
Beispiel #2
0
        protected override void LoadObjects(Actor[] activeObjects, List <ActorState> savedObjects, bool isLoadingSaveSlot)
        {
            for (int i = 0; i < activeObjects.Length; i++)
            {
                // if not player, give to pool
                if (!activeObjects[i].isPlayer)
                {
                    activeObjects[i].gameObject.SetActive(false);
                }
            }

            // build the scene items as they were saved before
            for (int i = 0; i < savedObjects.Count; i++)
            {
                Actor loadedActor = null;
                if (savedObjects[i].isPlayer)
                {
                    // only load player actor values if we're manually loading manual load
                    if (!isLoadingSaveSlot)
                    {
                        continue;
                    }

                    loadedActor = Actor.playerActor;
                }
                else
                {
                    loadedActor = Actor.pool.GetAvailable(
                        PrefabReferences.GetPrefabReference <Actor>(Actor.ActorPrefabsObjectName, savedObjects[i].prefabName), null, true, null);
                }

                OnObjectLoad(loadedActor, loadedActor, savedObjects[i]);
            }
        }
Beispiel #3
0
 static MapMarker GetMapMarkerPrefab(string name)
 {
     if (string.IsNullOrEmpty(name))
     {
         name = emptyIconName;
     }
     return(PrefabReferences.GetPrefabReference <MapMarker> (iconReferencesObjectName, name));
 }
Beispiel #4
0
        void Start()
        {
            refs = GameObject.Find(RefName).GetComponent <PrefabReferences>();
            var directorGo = GameObject.Find(DirectorName);

            if (directorGo != null)
            {
                director = directorGo.GetComponent <Director>();
                director.AddScore(this.Faction);
            }
        }
Beispiel #5
0
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        PrefabReferences prefabReferences = (PrefabReferences)target;

        if (GUILayout.Button("Refresh"))
        {
            prefabReferences.Refresh();
        }
    }
Beispiel #6
0
 protected virtual void Awake()
 {
     if (prefabReferences == null)          //like a singleton
     //DontDestroyOnLoad (gameObject);
     {
         prefabReferences = this;
     }
     else             //if (menuColors != null)
     {
         Destroy(gameObject);
     }
 }
Beispiel #7
0
 void Start()
 {
     refs      = GameObject.Find(RefName).GetComponent <PrefabReferences>();
     npcParent = GameObject.Find(NpcParentName).transform;
     RestartTimer();
 }
 protected override void OnStartRunning()
 {
     base.OnStartRunning();
     PrefabReferencesEntity = GetSingletonEntity <PrefabReferences>();
     PrefabReferences       = EntityManager.GetComponentData <PrefabReferences>(PrefabReferencesEntity);
 }