public static bool SpawnItem(ItemEnums item, Vector3 position, Quaternion rotation, Vector3 scale, out GameObject instantiatedObj, string name = null) { bool success = false; instantiatedObj = null; GameObject itemPrefab = GetItemPrefab(item); if (DataManager.Instance) { if (itemPrefab != null) { if (item == ItemEnums.TestItem) { TestObject obj = DataManager.Instance.SpawnObject <TestObject, TestMomento>(itemPrefab, position, rotation, scale); instantiatedObj = obj.gameObject; if (obj != null) { if (name != null) { obj.name = name; } success = true; } } else if ((item >= ItemEnums.Seed_Pouch_Start) && (item <= ItemEnums.Seed_Pouch_End)) { TemporalFoodStuff obj = DataManager.Instance.SpawnObject <TemporalFoodStuff, FoodStuffMomento>(itemPrefab, position, rotation, scale); instantiatedObj = obj.gameObject; if (obj != null) { if (name != null) { obj.name = name; } success = true; } } } } itemPrefab = null; return(success); }
public override void ApplyMomentoData(object obj) { if (obj != null) { GameObject go = (GameObject)obj; if (go != null) { TemporalFoodStuff temporalFoodStuff = go.GetComponent <TemporalFoodStuff>(); if (temporalFoodStuff != null) { temporalFoodStuff.TemporalLifetime = mTemporalLifetime; temporalFoodStuff.TemporalTriggers = mTemporalTriggers; temporalFoodStuff.Resource = mResource; temporalFoodStuff.MeshArrayIndex = mMeshArrayIndex; base.ApplyMomentoData(temporalFoodStuff.gameObject); } } } }
public override void UpdateMomentoData(object obj, string prefabName) { if (obj != null) { GameObject go = (GameObject)obj; if (go != null) { TemporalFoodStuff temporalFoodStuff = go.GetComponent <TemporalFoodStuff>(); if (temporalFoodStuff != null) { mTemporalLifetime = temporalFoodStuff.TemporalLifetime; mTemporalTriggers = temporalFoodStuff.TemporalTriggers; mResource = temporalFoodStuff.Resource; mMeshArrayIndex = temporalFoodStuff.MeshArrayIndex; base.UpdateMomentoData(go, prefabName); } } } }