Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void Should_Throw_Null_On_CommonParameters()
        {
            //arrange
            CommonParameters p = null;

            //act
            //assert
            Assert.Throws <ArgumentNullException>(() => Trashcan.IsNull(nameof(p), p));
        }
Esempio n. 3
0
        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);
    }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
        //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));
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
    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();
                }
            }
        }
    }
Esempio n. 12
0
        //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);
                }
            }
        }
Esempio n. 13
0
        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);
            }
        }
Esempio n. 14
0
 private static bool CheckRequirements(Trashcan __instance, Pickupable item, TechData techData)
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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();
        }