private static bool CheckRequirements(Trashcan __instance, Pickupable item, ITechData techData) { bool check = true; int craftCountNeeded = techData.craftAmount; IList <InventoryItem> inventoryItems = __instance.storageContainer.container.GetItems(item.GetTechType()); if (inventoryItems != null && inventoryItems.Count >= craftCountNeeded) { while (craftCountNeeded > 0) { Trashcan_Update.inventoryItems.Add(inventoryItems[craftCountNeeded - 1]); craftCountNeeded--; } List <TechType> linkedItems = new List <TechType>(); for (int i = 0; i < techData.linkedItemCount; i++) { linkedItems.Add(techData.GetLinkedItem(i)); } foreach (TechType techType in linkedItems) { int linkedCountNeeded = linkedItems.FindAll((TechType tt) => tt == techType).Count; IList <InventoryItem> inventoryItems2 = __instance.storageContainer.container.GetItems(techType); IList <InventoryItem> inventoryItems3 = Inventory.main.container.GetItems(techType); int count = (inventoryItems2?.Count ?? 0) + (inventoryItems3?.Count ?? 0); if (count < linkedCountNeeded) { ErrorMessage.AddMessage($"Missing {linkedCountNeeded - (inventoryItems2?.Count + inventoryItems3?.Count)} {techType}"); Inventory.main.ForcePickup(item); Trashcan_Update.inventoryItems.Clear(); return(false); } int count1 = inventoryItems2?.Count ?? 0; int count2 = inventoryItems3?.Count ?? 0; while (linkedCountNeeded > 0) { if (count1 > 0) { Trashcan_Update.inventoryItems.Add(inventoryItems2[count1 - 1]); count1--; } else if (count2 > 0) { Trashcan_Update.inventoryItems.Add(inventoryItems3[count2 - 1]); count2--; } linkedCountNeeded--; } } } else { check = false; } return(check); }
public void Should_Throw_Null_On_CommonParameters() { //arrange CommonParameters p = null; //act //assert Assert.Throws <ArgumentNullException>(() => Trashcan.IsNull(nameof(p), p)); }
public void Should_Throw_Null_On_String() { //arrange string n = null; //act //assert Assert.Throws <ArgumentNullException>(() => Trashcan.IsNull(nameof(n), n)); }
// Start is called before the first frame update void Start() { animator = GetComponent <Animator>(); trashcan = FindObjectOfType <Trashcan>(); fort = FindObjectOfType <Fort>(); bookshelf = FindObjectOfType <Bookshelf>(); // Register this object for pause/unpause updates SceneDirector.GetPrimary().Register(this); }
public void Should_Throw_InvalidOperation_As_All_2_Are_Null() { //arrange string a = null; string b = null; //act //assert Assert.Throws <InvalidOperationException>(() => Trashcan.AllAreNull("All null", a, b)); }
public void Should_Not_Throw_Null_On_String() { //arrange string n = "hello"; //act var act = Record.Exception(() => Trashcan.IsNull(nameof(n), n)); //assert Assert.Null(act); }
public void Should_Not_Throw_InvalidOperation_As_None_Are_Null() { //arrange string a = "null"; string b = "null"; string c = "null"; //act var act = Record.Exception(() => Trashcan.AllAreNull("All null", a, b, c)); //assert Assert.Null(act); }
public void Load(CodeSnippetCollection collection) { BeginUpdate(); Counter = collection.Counter; try { foreach (CodeSnippet snippet in collection.Items) { if (string.IsNullOrWhiteSpace(snippet.GetPath())) { snippet.SetPath(Constants.UNNAMED, out bool _changed); } snippet.Refresh(); } } catch { } TreeNodes.Clear(); CodeSnippets.Clear(); CodeSnippets.AddRange(collection.Items); if (collection.DocumentId.Equals(Guid.Empty)) { DocumentId = Guid.NewGuid(); } else { DocumentId = collection.DocumentId; } if (Counter < collection.Items.Count) { Counter = collection.Items.Count; } if (ClipboardMonitor != null) { ClipboardMonitor.Order = -1; ClipboardMonitor.SetPath("Clipboard Monitor", out bool _changed); } if (Trashcan != null) { Trashcan.Order = -2; Trashcan.SetPath("Trashcan", out bool _changed); } EndUpdate(); }
//TODO: baseUrl needs to be an optional parameter /// /// <summary> /// Simple GET Method to obtain a JSON payload. /// </summary> /// <param name="queryStringParameters"></param> /// <param name="urlOverride"></param> /// <typeparam name="TResponse"></typeparam> /// <returns>JSON response.</returns> public async virtual Task <dynamic> GetAsync(IHachetteCommonParameters queryStringParameters, string urlOverride = null) { Trashcan.AllAreNull($"both {nameof(urlOverride)} & {this.Endpoint.BaseUrl} are null", urlOverride, this.Endpoint.BaseUrl); Trashcan.IsNull(nameof(queryStringParameters), queryStringParameters); //baseUrl is basically an override and should be treated as such. string urlToUse = string.Empty; if (string.IsNullOrEmpty(urlOverride)) { Trashcan.IsNull(nameof(this.Endpoint.BaseUrl), this.Endpoint.BaseUrl); urlToUse = this.Endpoint.BaseUrl; } else { urlToUse = urlOverride; } using (var request = new HttpRequestMessage(HttpMethod.Get, new Uri($"{urlToUse}{queryStringParameters.BuildQueryString()}"))) { request.Headers.Add("x-apikey", new[] { this.Security.DeveloperKey }); request.Headers.Add("x-sdk", $"dotnet-{this.assemblyVersion}"); request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await client.SendAsync(request); if (response.IsSuccessStatusCode) { var settings = new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All, TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Full }; var s = await response.Content.ReadAsStringAsync(); dynamic json = JObject.Parse(s); return(json); } } return(default(dynamic)); }
public static bool Prefix(Trashcan __instance) { var trColor = __instance.GetAllComponentsInChildren <MeshRenderer>(); var tr02Color = __instance.GetAllComponentsInChildren <MeshRenderer>(); foreach (var trashcan01Color in trColor) { if (trashcan01Color.name.Contains("discovery_trashcan_01")) { trashcan01Color.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1); } } foreach (var trashcan02Color in tr02Color) { if (trashcan02Color.name.Contains("descent_trashcan_01")) { trashcan02Color.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1); } } return(true); }
void rayCasting(Ray ray) { RaycastHit hitObj; if (Physics.Raycast(ray, out hitObj, Mathf.Infinity)) { if (hitObj.transform.tag.Equals("tripod")) { TripodScript tripodScript = hitObj.transform.GetComponent <TripodScript>(); if (null != tripodScript) { tripodScript.Hit(); } } else if (hitObj.transform.tag.Equals("planks_1")) { PlankScript plankScript = hitObj.transform.GetComponent <PlankScript>(); if (null != plankScript) { plankScript.Hit(); } } else if (hitObj.transform.tag.Equals("car2")) { Car2Script car2Script = hitObj.transform.GetComponent <Car2Script>(); if (null != car2Script) { car2Script.Hit(); } } else if (hitObj.transform.tag.Equals("car1")) { Car1Script capsuleScript = hitObj.transform.GetComponent <Car1Script>(); if (null != capsuleScript) { capsuleScript.Hit(); } } else if (hitObj.transform.tag.Equals("Terrain")) { TerrainScript treeScript = hitObj.transform.GetComponent <TerrainScript>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("detailstone1")) { Detailstone1Script treeScript = hitObj.transform.GetComponent <Detailstone1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("detailstone2")) { Detailstone2Script treeScript = hitObj.transform.GetComponent <Detailstone2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rocks1_1")) { Rocks1_1Script treeScript = hitObj.transform.GetComponent <Rocks1_1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rocks2")) { Rocks2Script treeScript = hitObj.transform.GetComponent <Rocks2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rocks1_2")) { Rocks1_2Script treeScript = hitObj.transform.GetComponent <Rocks1_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1")) { Rock1Script treeScript = hitObj.transform.GetComponent <Rock1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_1")) { Rock1_1Script treeScript = hitObj.transform.GetComponent <Rock1_1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_2")) { Rock1_2Script treeScript = hitObj.transform.GetComponent <Rock1_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_3")) { Rock1_3Script treeScript = hitObj.transform.GetComponent <Rock1_3Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_4")) { Rock1_4Script treeScript = hitObj.transform.GetComponent <Rock1_4Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock2")) { Rock2Script treeScript = hitObj.transform.GetComponent <Rock2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock2_1")) { Rock2_1Script treeScript = hitObj.transform.GetComponent <Rock2_1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock3")) { Rock3Script treeScript = hitObj.transform.GetComponent <Rock3Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock3_1")) { Rock3_1Script treeScript = hitObj.transform.GetComponent <Rock3_1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rockarc1")) { Rockarc1Script treeScript = hitObj.transform.GetComponent <Rockarc1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock2_2")) { Rock2_2Script treeScript = hitObj.transform.GetComponent <Rock2_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_5")) { Rock1_5Script treeScript = hitObj.transform.GetComponent <Rock1_5Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock4")) { Rock4Script treeScript = hitObj.transform.GetComponent <Rock4Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_6")) { Rock1_6Script treeScript = hitObj.transform.GetComponent <Rock1_6Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rocks 1")) { Rocks_1Script treeScript = hitObj.transform.GetComponent <Rocks_1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_7")) { Rock1_7Script treeScript = hitObj.transform.GetComponent <Rock1_7Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock1_8")) { Rock1_8Script treeScript = hitObj.transform.GetComponent <Rock1_8Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock2_3")) { Rock2_3Script treeScript = hitObj.transform.GetComponent <Rock2_3Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock5")) { Rock5Script treeScript = hitObj.transform.GetComponent <Rock5Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("rock6")) { Rock6Script treeScript = hitObj.transform.GetComponent <Rock6Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_bench_1_2")) { Bench_1_2Script treeScript = hitObj.transform.GetComponent <Bench_1_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_bench_2")) { Bench_2Script treeScript = hitObj.transform.GetComponent <Bench_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_bench_2_2")) { Bench_2_2Script treeScript = hitObj.transform.GetComponent <Bench_2_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_building1_1")) { Building1_1Script treeScript = hitObj.transform.GetComponent <Building1_1Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_building1_2")) { Building1_2Script treeScript = hitObj.transform.GetComponent <Building1_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_building2_2_2")) { Building2_2_2Script treeScript = hitObj.transform.GetComponent <Building2_2_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_building2_2_3")) { Building2_2_3Script treeScript = hitObj.transform.GetComponent <Building2_2_3Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_building4_2")) { Building4_2Script treeScript = hitObj.transform.GetComponent <Building4_2Script>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_building5_1")) { Building5_1 treeScript = hitObj.transform.GetComponent <Building5_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b1_pavement_2")) { Pavement_2 treeScript = hitObj.transform.GetComponent <Pavement_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("pavementbricks")) { Pavementbricks treeScript = hitObj.transform.GetComponent <Pavementbricks>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("pavementbricks_1")) { Pavementbricks_1 treeScript = hitObj.transform.GetComponent <Pavementbricks_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("planks")) { Planks treeScript = hitObj.transform.GetComponent <Planks>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("planks_1")) { Planks_1 treeScript = hitObj.transform.GetComponent <Planks_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("planks_2")) { Planks_2 treeScript = hitObj.transform.GetComponent <Planks_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("sideblock1")) { Sideblock1 treeScript = hitObj.transform.GetComponent <Sideblock1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("sideblock1_1_2")) { Sideblock1_1_2 treeScript = hitObj.transform.GetComponent <Sideblock1_1_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("sideblock1_2")) { Sideblock1_2 treeScript = hitObj.transform.GetComponent <Sideblock1_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_1")) { Wire_1 treeScript = hitObj.transform.GetComponent <Wire_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_4")) { Wire_4 treeScript = hitObj.transform.GetComponent <Wire_4>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_5")) { Wire_5 treeScript = hitObj.transform.GetComponent <Wire_5>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_6")) { Wire_6 treeScript = hitObj.transform.GetComponent <Wire_6>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_7")) { Wire_7 treeScript = hitObj.transform.GetComponent <Wire_7>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_8")) { Wire_8 treeScript = hitObj.transform.GetComponent <Wire_8>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_9")) { Wire_9 treeScript = hitObj.transform.GetComponent <Wire_9>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("bench")) { Bench treeScript = hitObj.transform.GetComponent <Bench>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("bench_1")) { Bench_1 treeScript = hitObj.transform.GetComponent <Bench_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b2building2_2")) { Building2_2 treeScript = hitObj.transform.GetComponent <Building2_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b2building4")) { Building4 treeScript = hitObj.transform.GetComponent <Building4>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b2building5")) { Building5 treeScript = hitObj.transform.GetComponent <Building5>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b2pavement")) { Pavement treeScript = hitObj.transform.GetComponent <Pavement>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b2sideblock1_1")) { Sideblock1_1 treeScript = hitObj.transform.GetComponent <Sideblock1_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire")) { Wire treeScript = hitObj.transform.GetComponent <Wire>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_2")) { Wire_2 treeScript = hitObj.transform.GetComponent <Wire_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("wire_3")) { Wire_3 treeScript = hitObj.transform.GetComponent <Wire_3>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("block3")) { Block3 treeScript = hitObj.transform.GetComponent <Block3>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("floor")) { Floor treeScript = hitObj.transform.GetComponent <Floor>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("pavementbricks_1_2")) { Pavementbricks_1_2 treeScript = hitObj.transform.GetComponent <Pavementbricks_1_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight")) { Streetlight treeScript = hitObj.transform.GetComponent <Streetlight>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_1")) { Streetlight_1 treeScript = hitObj.transform.GetComponent <Streetlight_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_2")) { Streetlight_2 treeScript = hitObj.transform.GetComponent <Streetlight_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4bench")) { B4Bench treeScript = hitObj.transform.GetComponent <B4Bench>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4bench_1")) { B4Bench_1 treeScript = hitObj.transform.GetComponent <B4Bench_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4building2_2")) { B4Building2_2 treeScript = hitObj.transform.GetComponent <B4Building2_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4building4")) { B4Building4 treeScript = hitObj.transform.GetComponent <B4Building4>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4building5")) { B4Building5 treeScript = hitObj.transform.GetComponent <B4Building5>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4pavement")) { B4Pavement treeScript = hitObj.transform.GetComponent <B4Pavement>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4sideblock1_1")) { b4sideblock1_1 treeScript = hitObj.transform.GetComponent <b4sideblock1_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4wire")) { b4wire treeScript = hitObj.transform.GetComponent <b4wire>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4wire_2")) { b4wire_2 treeScript = hitObj.transform.GetComponent <b4wire_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("b4wire_3")) { b4wire_3 treeScript = hitObj.transform.GetComponent <b4wire_3>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("crate")) { Crate treeScript = hitObj.transform.GetComponent <Crate>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("crate_1")) { Crate_1 treeScript = hitObj.transform.GetComponent <Crate_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("trash")) { Trach treeScript = hitObj.transform.GetComponent <Trach>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight(out)")) { streetlightout treeScript = hitObj.transform.GetComponent <streetlightout>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight1(out)")) { streetlight1out treeScript = hitObj.transform.GetComponent <streetlight1out>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight2(out)")) { streetlightout2 treeScript = hitObj.transform.GetComponent <streetlightout2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight3(out)")) { streetlightout3 treeScript = hitObj.transform.GetComponent <streetlightout3>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_4(out)")) { streetlightout_4 treeScript = hitObj.transform.GetComponent <streetlightout_4>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_3(out)")) { streetlightout_3 treeScript = hitObj.transform.GetComponent <streetlightout_3>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_2(out)")) { streetlightout_2 treeScript = hitObj.transform.GetComponent <streetlightout_2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_1(out)")) { streetlightout_1 treeScript = hitObj.transform.GetComponent <streetlightout_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("streetlight_(out)")) { streetlightout_ treeScript = hitObj.transform.GetComponent <streetlightout_>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("trashcan2")) { Trashcan2 treeScript = hitObj.transform.GetComponent <Trashcan2>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("trashcan1")) { Trashcan_1 treeScript = hitObj.transform.GetComponent <Trashcan_1>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("trashcan")) { Trashcan treeScript = hitObj.transform.GetComponent <Trashcan>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("plane")) { Trashcan treeScript = hitObj.transform.GetComponent <Trashcan>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("shooter")) { Trashcan treeScript = hitObj.transform.GetComponent <Trashcan>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("runner")) { Trashcan treeScript = hitObj.transform.GetComponent <Trashcan>(); if (null != treeScript) { treeScript.Hit(); } } else if (hitObj.transform.tag.Equals("back")) { Trashcan treeScript = hitObj.transform.GetComponent <Trashcan>(); if (null != treeScript) { treeScript.Hit(); } } } }
//ennek mindenkepp vegig kell futnia private void HandlePlayerDead(IZone zone, Unit killer) { using (var scope = Db.CreateTransaction()) { EnlistTransaction(); try { killer = zone.ToPlayerOrGetOwnerPlayer(killer) ?? killer; SaveCombatLog(zone, killer); var character = Character; var dockingBase = character.GetHomeBaseOrCurrentBase(); dockingBase.DockIn(character, NormalUndockDelay, ZoneExitType.Died); PlayerDeathLogger.Log.Write(zone, this, killer); //pay out insurance if needed var wasInsured = InsuranceHelper.CheckInsuranceOnDeath(Eid, Definition); if (!Session.AccessLevel.IsAdminOrGm()) { var robotInventory = GetContainer(); Debug.Assert(robotInventory != null); var lootItems = new List <LootItem>(); // minden fittelt modul foreach (var module in Modules.Where(m => LootHelper.Roll())) { lootItems.Add(LootItemBuilder.Create(module).AsDamaged().Build()); var activeModule = module as ActiveModule; var ammo = activeModule?.GetAmmo(); if (ammo != null) { if (LootHelper.Roll()) { lootItems.Add(LootItemBuilder.Create(ammo).Build()); } } // szedjuk le a robotrol module.Parent = robotInventory.Eid; //in case the container is full //toroljuk is le, nem kell ez sehova mar Repository.Delete(module); } foreach (var item in robotInventory.GetItems(true).Where(i => i is VolumeWrapperContainer)) { //Transport assignments var wrapper = item as VolumeWrapperContainer; if (wrapper == null) { continue; } lootItems.AddRange(wrapper.GetLootItems()); wrapper.SetAllowDelete(); Repository.Delete(wrapper); } // elkerunk minden itemet a kontenerbol es valogatunk belole 50% szerint foreach (var item in robotInventory.GetItems().Where(i => LootHelper.Roll() && !i.ED.AttributeFlags.NonStackable)) { var qtyMod = FastRandom.NextDouble(); item.Quantity = (int)(item.Quantity * qtyMod); if (item.Quantity > 0) { lootItems.Add(LootItemBuilder.Create(item.Definition).SetQuantity(item.Quantity).SetRepackaged(item.ED.AttributeFlags.Repackable).Build()); } else { robotInventory.RemoveItemOrThrow(item); //toroljuk is le, nem kell ez mar Repository.Delete(item); } } if (lootItems.Count > 0) { var lootContainer = LootContainer.Create().AddLoot(lootItems).BuildAndAddToZone(zone, CurrentPosition); if (lootContainer != null) { var b = TransactionLogEvent.Builder().SetTransactionType(TransactionType.PutLoot).SetCharacter(character).SetContainer(lootContainer.Eid); foreach (var lootItem in lootItems) { b.SetItem(lootItem.ItemInfo.Definition, lootItem.ItemInfo.Quantity); Character.LogTransaction(b); } } } var killedByPlayer = (killer != null && killer.IsPlayer()); Trashcan.Get().MoveToTrash(this, Session.DisconnectTime, wasInsured, killedByPlayer, Session.InactiveTime); character.NextAvailableRobotRequestTime = DateTime.Now.AddMinutes(killedByPlayer ? ARKHE_REQUEST_TIMER_MINUTES_PVP : ARKHE_REQUEST_TIMER_MINUTES_NPC); Robot activeRobot = null; if (!killedByPlayer) { activeRobot = dockingBase.CreateStarterRobotForCharacter(character); if (activeRobot != null) { Transaction.Current.OnCommited(() => { var starterRobotInfo = new Dictionary <string, object> { { k.baseEID, Eid }, { k.robotEID, activeRobot.Eid } }; Message.Builder.SetCommand(Commands.StarterRobotCreated).WithData(starterRobotInfo).ToCharacter(character).Send(); }); } } character.SetActiveRobot(activeRobot); } else { // mert rendesek vagyunk this.Repair(); // csak az adminok miatt kell var container = dockingBase.GetPublicContainer(); container.AddItem(this, false); } this.Save(); scope.Complete(); } catch (Exception ex) { Logger.Exception(ex); } } }
public override bool Run() { try { if (!Target.RouteToCan(Actor, true)) { return(false); } StateMachineClient stateMachine = Target.GetStateMachine(Actor, false); stateMachine.AddOneShotScriptEventHandler(0x65, Target.EventCallbackRemoveLid); stateMachine.AddOneShotScriptEventHandler(0x66, Target.EventCallbackAddLid); Trashcan target = Target as Trashcan; if (target != null) { mLidGuid = target.SetupLidProp(stateMachine); } IFairyBoobyTrap trap = Target as IFairyBoobyTrap; if (((trap != null) && ((trap.BoobyTrapComponent != null) ? trap.BoobyTrapComponent.CanTriggerTrap(Actor.SimDescription) : false)) && trap.TriggerTrap(Actor)) { TrashcanOutside outsideCan = Target as TrashcanOutside; if (outsideCan != null) { TrashPile.CreateFairyTrapTrashPiles(outsideCan); } return(false); } StandardEntry(); BeginCommodityUpdates(); try { if (!Autonomous) { Target.HasBeenRummagedByPlayer = true; } Target.SetRummagingSim(Actor); Target.RummageBroadcasterCreate(); stateMachine.RequestState("x", "LoopRummage"); if ((!Autonomous && (HudController.InfoState != InfoState.Inventory)) && Actor.IsActiveSim) { HudController.SetInfoState(InfoState.Inventory); } mNetWorth = Target.LotCurrent.Household.NetWorth(); DoLoop(~(ExitReason.Replan | ExitReason.MidRoutePushRequested | ExitReason.ObjectStateChanged | ExitReason.PlayIdle | ExitReason.MaxSkillPointsReached), LoopDel, stateMachine); Target.RummageBroadcasterDestroy(); stateMachine.RequestState("x", "Exit"); if (!Autonomous) { HudModel.OpenObjectInventoryForOwner(null); } } finally { EndCommodityUpdates(true); } BuffInstance element = Actor.BuffManager.GetElement(BuffNames.Smelly); if (element != null) { element.mBuffOrigin = Origin.FromDumpsterDiving; } StandardExit(); return(true); } catch (ResetException) { throw; } catch (Exception e) { Common.Exception(Actor, Target, e); return(false); } }
private static bool CheckRequirements(Trashcan __instance, Pickupable item, TechData techData)
public static bool Prefix(Trashcan __instance) { if (__instance.biohazard) { return(true); } __instance.storageContainer.hoverText = "Recycling Bin"; __instance.storageContainer.storageLabel = "Recycling Bin"; __instance.storageContainer.container._label = "Recycling Bin"; inventoryItems = new List <InventoryItem>(); forcePickupItems = new List <Pickupable>(); foreach (Trashcan.Waste waste in __instance.wasteList) { InventoryItem item = waste.inventoryItem; if (item is null) { continue; } TechType techType = item.item.GetTechType(); ITechData techData = CraftData.Get(techType); bool inputcheck = GameInput.GetButtonHeld(GameInput.Button.Deconstruct); if (!inputcheck && techType != TechType.Titanium && Main.BatteryCheck(item.item) && techData != null) { if (CheckRequirements(__instance, item.item, techData)) { for (int i = 0; i < techData.ingredientCount; i++) { IIngredient ingredient = techData.GetIngredient(i); for (int j = 0; j < ingredient.amount; j++) { GameObject gameObject = CraftData.InstantiateFromPrefab(ingredient.techType, false); if (gameObject.GetComponent <LiveMixin>() != null) { GameObject.Destroy(gameObject); break; } gameObject.SetActive(true); Pickupable pickupable = gameObject.GetComponent <Pickupable>(); pickupable.Pickup(false); forcePickupItems.Add(pickupable); } } break; } } else { if (inputcheck) { inventoryItems.Add(item); } else { forcePickupItems.Add(item.item); } break; } } forcePickupItems.ForEach((rejectedItem) => Inventory.main.ForcePickup(rejectedItem)); inventoryItems.ForEach((item) => UnityEngine.Object.Destroy(item.item.gameObject)); return(false); }
public static bool Prefix(Trashcan __instance) { if (__instance.biohazard) { return(true); } __instance.storageContainer.hoverText = "Recycling Bin"; __instance.storageContainer.storageLabel = "Recycling Bin"; __instance.storageContainer.container._label = "Recycling Bin"; inventoryItems = new List <InventoryItem>(); forcePickupItems = new List <Pickupable>(); foreach (Trashcan.Waste waste in __instance.wasteList) { InventoryItem item = waste.inventoryItem; if (item is null) { continue; } TechType techType = item.item.GetTechType(); #if SUBNAUTICA TechData techData = CraftDataHandler.GetTechData(techType); #elif BELOWZERO RecipeData techData = CraftDataHandler.GetRecipeData(techType); #endif if (!GameInput.GetButtonHeld(GameInput.Button.Deconstruct) && techType != TechType.Titanium && techData != null && techData.ingredientCount > 0 && Main.BatteryCheck(item.item)) { if (CheckRequirements(__instance, item.item, techData)) { foreach (Ingredient ingredient in techData.Ingredients) { for (int i = ingredient.amount; i > 0; i--) { GameObject gameObject = CraftData.InstantiateFromPrefab(ingredient.techType, false); gameObject.SetActive(true); Pickupable pickupable = gameObject.GetComponent <Pickupable>(); pickupable.Pickup(false); if ((item.item.GetComponent <IBattery>() == null && pickupable.GetComponent <IBattery>() != null && QModServices.Main.ModPresent("NoBattery")) || pickupable.GetComponent <LiveMixin>() != null) { UnityEngine.Object.Destroy(pickupable.gameObject); } else { forcePickupItems.Add(pickupable); } } } break; } } else { if (GameInput.GetButtonHeld(GameInput.Button.Deconstruct)) { inventoryItems.Add(item); } else { forcePickupItems.Add(item.item); } break; } } forcePickupItems.ForEach((rejectedItem) => Inventory.main.ForcePickup(rejectedItem)); inventoryItems.ForEach((item) => UnityEngine.Object.Destroy(item.item.gameObject)); return(false); }
public void LoadLegacy(CodeSnippetCollectionOld collection) { BeginUpdate(); Cleanup(collection); Counter = collection.Counter; CodeSnippetCollection _newCollection = new CodeSnippetCollection(); _newCollection.Items.Clear(); foreach (CodeSnippetOld _old in collection.Items) { if (string.IsNullOrWhiteSpace(_old.Path)) { _old.Path = Constants.UNNAMED; } CodeSnippet _new = new CodeSnippet() { DefaultChildCodeType = _old.DefaultChildCodeType, DefaultChildCodeTypeEnabled = _old.DefaultChildCodeTypeEnabled, DefaultChildName = _old.DefaultChildName, Name = _old.Name, Blob = _old.Blob, AlarmActive = _old.AlarmActive, AlarmDate = _old.AlarmDate, CodeLastModificationDate = _old.CodeLastModificationDate, CodeType = _old.CodeType, CreationDate = _old.CreationDate, CurrentLine = _old.CurrentLine, Expanded = _old.Expanded, Flag = _old.Flag, HtmlPreview = _old.HtmlPreview, Id = _old.Id, Important = _old.Important, Locked = _old.Locked, Order = _old.Order, ReferenceLinkId = _old.ReferenceLinkId, RTFAlwaysWhite = _old.RTFAlwaysWhite, RTFOwnTheme = _old.RTFOwnTheme, RTFTheme = _old.RTFTheme, ShortCutKeys = _old.ShortCutKeys, Wordwrap = _old.Wordwrap }; if (_old.Path.Equals(@"Trashcan")) { } if (_old.Path.Equals(@"C#\Classes\VersionNumber")) { } bool _changed = false; _new.SetPath(_old.Path, out _changed); _new.SetCode(_old.Code, out _changed); _new.SetRtf(_old.RTF, out _changed); _new.SetDefaultChildCode(_old.DefaultChildCode, out _changed); _new.SetDefaultChildRtf(_old.DefaultChildRtf, out _changed); _newCollection.Items.Add(_new); } TreeNodes.Clear(); CodeSnippets.Clear(); CodeSnippets.AddRange(_newCollection.Items); if (Counter < collection.Items.Count) { Counter = collection.Items.Count; } if (ClipboardMonitor != null) { ClipboardMonitor.Order = -1; ClipboardMonitor.SetPath("Clipboard Monitor", out bool _changed); } if (Trashcan != null) { Trashcan.Order = -2; Trashcan.SetPath("Trashcan", out bool _changed); } DocumentId = Guid.NewGuid(); // Legacy always new DocumentId EndUpdate(); }