public static void SetupObjects() { SaveGame.m_Objects.Clear(); SaveGame.m_Objects.Add(MainLevel.Instance); SaveGame.m_Objects.Add(Scenario.Get()); SaveGame.m_Objects.Add(AIManager.Get()); SaveGame.m_Objects.Add(TriggersManager.Get()); SaveGame.m_Objects.Add(ItemsManager.Get()); SaveGame.m_Objects.Add(SensorManager.Get()); SaveGame.m_Objects.Add(ConstructionGhostManager.Get()); SaveGame.m_Objects.Add(StaticObjectsManager.Get()); SaveGame.m_Objects.Add(Player.Get()); SaveGame.m_Objects.Add(PlayerConditionModule.Get()); SaveGame.m_Objects.Add(PlayerInjuryModule.Get()); SaveGame.m_Objects.Add(PlayerDiseasesModule.Get()); SaveGame.m_Objects.Add(StatsManager.Get()); SaveGame.m_Objects.Add(HintsManager.Get()); SaveGame.m_Objects.Add(ObjectivesManager.Get()); SaveGame.m_Objects.Add(HUDObjectives.Get()); SaveGame.m_Objects.Add(MenuNotepad.Get()); SaveGame.m_Objects.Add(MapTab.Get()); SaveGame.m_Objects.Add(Music.Get()); SaveGame.m_Objects.Add(RainManager.Get()); SaveGame.m_Objects.Add(BalanceSystem.Get()); }
protected void DestroyMe(DamageInfo damage_info, string destroyed_prefab_name = "") { if (base.gameObject.GetComponent <DestroyablePlant>() != null) { base.gameObject.GetComponent <DestroyablePlant>().OnDestroyPlant(); } string text = (destroyed_prefab_name.Length <= 0) ? this.m_Item.m_Info.m_DestroyedPrefabName : destroyed_prefab_name; if (text.Length > 0) { GameObject prefab = GreenHellGame.Instance.GetPrefab(text); if (!prefab) { DebugUtils.Assert("[:DestroyMe] Can't find destroyed prefab - " + text, true, DebugUtils.AssertType.Info); return; } GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(prefab, base.transform.position, base.transform.rotation); } for (int i = 0; i < this.m_Item.m_Info.m_ItemsToBackpackOnDestroy.Count; i++) { Item item = ItemsManager.Get().CreateItem(this.m_Item.m_Info.m_ItemsToBackpackOnDestroy[i], false, Vector3.zero, Quaternion.identity); if (item && !item.Take()) { Inventory3DManager.Get().DropItem(item); } } StaticObjectsManager.Get().ObjectDestroyed(base.gameObject); this.PlayDestroySound(); UnityEngine.Object.Destroy(base.gameObject); }
public static void SetupObjects() { SaveGame.m_Objects.Clear(); SaveGame.m_Objects.Add(DifficultySettings.Get()); SaveGame.m_Objects.Add(DialogsManager.Get()); SaveGame.m_Objects.Add(AIManager.Get()); SaveGame.m_Objects.Add(EnemyAISpawnManager.Get()); SaveGame.m_Objects.Add(TriggersManager.Get()); SaveGame.m_Objects.Add(ItemsManager.Get()); SaveGame.m_Objects.Add(SensorManager.Get()); SaveGame.m_Objects.Add(ConstructionGhostManager.Get()); SaveGame.m_Objects.Add(StaticObjectsManager.Get()); SaveGame.m_Objects.Add(Player.Get()); SaveGame.m_Objects.Add(PlayerConditionModule.Get()); SaveGame.m_Objects.Add(PlayerInjuryModule.Get()); SaveGame.m_Objects.Add(PlayerDiseasesModule.Get()); SaveGame.m_Objects.Add(StatsManager.Get()); SaveGame.m_Objects.Add(HintsManager.Get()); SaveGame.m_Objects.Add(ObjectivesManager.Get()); SaveGame.m_Objects.Add(StoryObjectivesManager.Get()); SaveGame.m_Objects.Add(HUDObjectives.Get()); SaveGame.m_Objects.Add(MenuNotepad.Get()); SaveGame.m_Objects.Add(MapTab.Get()); SaveGame.m_Objects.Add(Music.Get()); SaveGame.m_Objects.Add(RainManager.Get()); SaveGame.m_Objects.Add(SleepController.Get()); SaveGame.m_Objects.Add(MainLevel.Instance); SaveGame.m_Objects.Add(ScenarioManager.Get()); SaveGame.m_Objects.Add(InventoryBackpack.Get()); SaveGame.m_Objects.Add(ReplicatedSessionState.Get()); }
private void Start() { LeavesPusher.s_Shader = Shader.Find("Custom/WindLeavesC2Standard"); LeavesPusher.s_ShaderPropertyShakeAdd = Shader.PropertyToID("_BranchAmplitudeAdd"); LeavesPusher.s_ShaderPropertyShakeTimeAdd = Shader.PropertyToID("_BranchFreqAdd"); this.m_SOM = StaticObjectsManager.Get(); this.m_CharacterController = Player.Get().GetComponent <CharacterController>(); }
public override void OnReplicationDeserialize(P2PNetworkReader reader, bool initialState) { if (!initialState) { uint num = reader.ReadPackedUInt32(); int num2 = 0; while ((long)num2 < (long)((ulong)num)) { StaticObjectsManager.Get().ObjectDestroyed(reader.ReadVector3()); num2++; } } }
private void Start() { StaticObjectsManager.Get().OnStaticObjectAdded(base.gameObject); }
private void OnDestroy() { this.m_IsBeingDestroyed = true; StaticObjectsManager.Get().OnStaticObjectRemoved(base.gameObject); }
public void DestroyMe(DamageInfo damage_info = null, string destroyed_prefab_name = "") { if (!this.ReplIsOwner()) { return; } if (base.gameObject.GetComponent <DestroyablePlant>() != null) { base.gameObject.GetComponent <DestroyablePlant>().OnDestroyPlant(); } string text = (destroyed_prefab_name.Length > 0) ? destroyed_prefab_name : this.m_Item.m_Info.m_DestroyedPrefabName; if (text.Length > 0) { GameObject prefab = GreenHellGame.Instance.GetPrefab(text); if (!prefab) { DebugUtils.Assert("[:DestroyMe] Can't find destroyed prefab - " + text, true, DebugUtils.AssertType.Info); return; } Vector3 position = base.transform.position; if (this.m_Item && this.m_Item.m_Info != null && this.m_Item.m_Info.m_ID == ItemID.small_plant_01_acres_grown && text == "Malanga_Bulb") { position.y += 0.2f; } else if (this.m_Item && this.m_Item.m_Info != null && this.m_Item.m_Info.m_ID == ItemID.Coconut) { position.y += 0.1f; } GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(prefab, position, base.transform.rotation); Item componentDeepChild = General.GetComponentDeepChild <Item>(gameObject); if (componentDeepChild != null) { Vector3 ang_vel = Vector3.zero; if (damage_info != null) { if (damage_info.m_Damager == null) { ang_vel = -Vector3.Cross(damage_info.m_HitDir, Vector3.up); } else if (Vector3.Dot(damage_info.m_Damager.transform.right, damage_info.m_HitDir) > 0f) { ang_vel = -damage_info.m_Damager.transform.forward; } else { ang_vel = damage_info.m_Damager.transform.forward; } } componentDeepChild.AddAngularVelocityOnStart(ang_vel, 10f); } if (this.m_Item != null && this.m_Item.m_Acre != null && gameObject.GetComponent <ObjectWithTrunk>() != null) { this.m_Item.m_Acre.m_ObjectWithTrunk = gameObject.GetComponent <ObjectWithTrunk>(); } } for (int i = 0; i < this.m_Item.m_Info.m_ItemsToBackpackOnDestroy.Count; i++) { Item item = ItemsManager.Get().CreateItem(this.m_Item.m_Info.m_ItemsToBackpackOnDestroy[i], false, Vector3.zero, Quaternion.identity); if (item) { if (!item.Take()) { Inventory3DManager.Get().DropItem(item); } else if (item.m_Info != null) { PlayerAudioModule.Get().PlayItemSound(item.m_Info.m_GrabSound); } } } StaticObjectsManager.Get().ObjectDestroyed(base.gameObject); ReplicatedStaticObjects local = ReplicatedStaticObjects.GetLocal(); if (local != null) { local.AddDestroyedObject(base.gameObject); } this.PlayDestroySound(); UnityEngine.Object.Destroy(base.gameObject); }