A simple component that show a demo UI
Inheritance: MonoBehaviour
Exemple #1
0
    public SpawnMenu()
    {
        Instance = this;

        StyleSheet.Load("/ui/SpawnMenu.scss");

        var left = Add.Panel("left");
        {
            var tabs = left.AddChild <ButtonGroup>();
            tabs.AddClass("tabs");

            var body = left.Add.Panel("body");

            {
                var props = body.AddChild <SpawnList>();
                tabs.SelectedButton = tabs.AddButtonActive("Props", (b) => props.SetClass("active", b));

                var ents = body.AddChild <EntityList>();
                tabs.AddButtonActive("Entities", (b) => ents.SetClass("active", b));
            }
        }

        var right = Add.Panel("right");
        {
            var tabs = right.Add.Panel("tabs");
            {
                tabs.Add.Button("Tools").AddClass("active");
                tabs.Add.Button("Utility");
            }
            var body = right.Add.Panel("body");
            {
                var list = body.Add.Panel("toollist");
                {
                    foreach (var entry in Library.GetAllAttributes <Sandbox.Tools.BaseTool>())
                    {
                        if (entry.Title == "Sandbox.Tools.BaseTool")
                        {
                            continue;
                        }

                        var button = list.Add.Button(entry.Title);
                        button.SetClass("active", entry.Name == ConsoleSystem.FindValue("tool_current"));

                        button.AddEvent("onclick", () =>
                        {
                            ConsoleSystem.Run("tool_current", entry.Name);
                            ConsoleSystem.Run("inventory_current", "weapon_tool");

                            foreach (var child in list.Children)
                            {
                                child.SetClass("active", child == button);
                            }
                        });
                    }
                }
                body.Add.Panel("inspector");
            }
        }
    }
Exemple #2
0
 public void SpawnToEdit()
 {
     //set all editUIs false for easy switching between edit types
     GameObject[] SpawnMenus = GameObject.FindGameObjectsWithTag("SpawnUI");
     foreach (GameObject SpawnMenu in SpawnMenus)
     {
         if (SpawnMenu.activeSelf)
         {
             SpawnMenu.SetActive(false);
         }
     }
     EditButton.SetActive(true);
 }
Exemple #3
0
    public SpawnMenu()
    {
        Instance = this;

        StyleSheet.Load("/ui/SpawnMenu.scss");

        var left = Add.Panel("left");
        {
            var tabs = left.AddChild <ButtonGroup>();
            tabs.AddClass("tabs");

            var body = left.Add.Panel("body");

            {
                var props = body.AddChild <SpawnList>();
                tabs.SelectedButton = tabs.AddButtonActive("Props", (b) => props.SetClass("active", b));

                var ents = body.AddChild <EntityList>();
                tabs.AddButtonActive("Entities", (b) => ents.SetClass("active", b));

                var models = body.AddChild <CloudModelList>();
                tabs.AddButtonActive("s&works", (b) => models.SetClass("active", b));
            }
        }

        var right = Add.Panel("right");
        {
            var tabs = right.Add.Panel("tabs");
            {
                tabs.Add.Button("Tools").AddClass("active");
                tabs.Add.Button("Utility");
            }
            var body = right.Add.Panel("body");
            {
                toollist = body.Add.Panel("toollist");
                {
                    RebuildToolList();
                }
                body.Add.Panel("inspector");
            }
        }
    }
Exemple #4
0
    public GameObject[] Prefabs; // spawna guin vid död



    public void Awake()
    {
        _savedPoints = GameManager.Instance.Points;
        Instance     = this;
        MenuSpawn    = GetComponent <SpawnMenu>();
    }
Exemple #5
0
        public override void OnApplicationStart()
        {
            Instance = this;
            base.OnApplicationStart();
            ClassInjector.RegisterTypeInIl2Cpp <Grenade>();
            ClassInjector.RegisterTypeInIl2Cpp <PinScript>();
            ClassInjector.RegisterTypeInIl2Cpp <HandleScript>();

            var folder = new DirectoryInfo(Path.Combine(Path.GetDirectoryName(Application.dataPath), "UserData", "Grenades"));

            if (!folder.Exists)
            {
                folder.Create();
            }
            else
            {
                foreach (var file in folder.EnumerateFiles("*.grenade"))
                {
                    try
                    {
                        var bundle = AssetBundle.LoadFromFile(file.FullName);
                        bundle.hideFlags = HideFlags.DontUnloadUnusedAsset;
                        TextAsset text = bundle.LoadAsset <TextAsset>("Grenades.xml");
                        var       xml  = XDocument.Parse(text.text);

                        foreach (var grenadeXml in xml.Root.Elements("Grenade"))
                        {
                            var prefab = bundle.LoadAsset <GameObject>((string)grenadeXml.Attribute("prefab"));
                            prefab.hideFlags = HideFlags.DontUnloadUnusedAsset;
                            Shaders.ReplaceDummyShaders(prefab);
                            var guid = Guid.NewGuid();
                            prefab.name            = guidPrefix + guid.ToString();
                            this.definitions[guid] = grenadeXml;
                            var g = prefab.AddComponent <Grenade>();
                            SpawnMenu.AddItem(prefab,
                                              (string)grenadeXml.Attribute("name") ?? "[Grenade]",
                                              (int?)grenadeXml.Attribute("pool") ?? 4,
                                              (CategoryFilters)Enum.Parse(typeof(CategoryFilters), (string)grenadeXml.Attribute("category") ?? "GADGETS", true));
                        }
                    }
                    catch (Exception e)
                    {
                        Log.LogError($"Failed when loading grenade bundle: {file.Name}\n{e.Message}\n{e.StackTrace}");
                    }
                }
            }

            CustomMapIntegration.Init();
            if (Environment.GetCommandLineArgs().Contains("--grenades.debug"))
            {
                void ExportXml()
                {
                    foreach (var def in Instance.definitions.Values)
                    {
                        var file = Path.Combine(folder.FullName, $"exported_{(string)def.Attribute("name") ?? "noname"}.xml");
                        def.Save(file);
                    }
                }

                var i = Interfaces.AddNewInterface("Grenades Debug", Color.green);
                i.CreateFunctionElement("Output all xml", Color.green, null, null, ExportXml);
            }
        }
 // Use this for initialization
 void Start()
 {
     theMenu     = FindObjectOfType <SpawnMenu>();
     menuSpawned = false;
 }