Пример #1
0
            public PropTypeGroup(GetGamedataFile.PropObject FromPropObject)
            {
                PropObject = FromPropObject;
                Blueprint  = PropObject.BP.Path;
                HelpText   = PropObject.BP.HelpText;

                PropsInstances = new HashSet <Prop>();
            }
        bool GeneratePropButton(string localpath, string LocalName, GameObject Prefab)
        {
            if (!localpath.ToLower().EndsWith(".bp"))
            {
                return(false);
            }

            string PropPath = "";

            if (localpath.EndsWith(".bp"))
            {
                PropPath = LocalName.Replace(".bp", "");
            }
            else if (localpath.EndsWith(".BP"))
            {
                PropPath = LocalName.Replace(".BP", "");
            }

            GetGamedataFile.PropObject LoadedProp = null;

            if (localpath.ToLower().StartsWith("maps"))
            {
                localpath  = "/" + localpath;
                LoadedProp = GetGamedataFile.LoadProp(GetGamedataFile.MapScd, localpath);
            }
            else
            {
                LoadedProp = GetGamedataFile.LoadProp(GetGamedataFile.EnvScd, localpath);
            }

            GameObject NewButton = Instantiate(Prefab) as GameObject;

            NewButton.transform.SetParent(Pivot, false);

            if (LoadedProp.BP.LODs.Length > 0 && LoadedProp.BP.LODs[0].Albedo)
            {
                NewButton.GetComponent <RawImage>().texture = LoadedProp.BP.LODs[0].Albedo;
            }

            ResourceObject Ro = NewButton.GetComponent <ResourceObject>();

            Ro.InstanceId          = LoadedPaths.Count;
            Ro.NameField.text      = LoadedProp.BP.Name;
            PropPath               = PropPath.Replace(LoadedProp.BP.Name, "");
            Ro.CustomTexts[2].text = PropPath;

            Ro.CustomTexts[0].text = LoadedProp.BP.ReclaimMassMax.ToString();
            Ro.CustomTexts[1].text = LoadedProp.BP.ReclaimEnergyMax.ToString();
            LoadedPaths.Add(localpath);
            LoadedProps.Add(LoadedProp);

            if (localpath.ToLower() == SelectedObject.ToLower())
            {
                Ro.Selected.SetActive(true);
                Pivot.GetComponent <RectTransform>().anchoredPosition = Vector2.up * 250 * Mathf.FloorToInt(LoadedPaths.Count / 5f);
            }
            return(true);
        }
Пример #3
0
        bool LoadProp(GetGamedataFile.PropObject PropObj)
        {
            if (!PaintPropObjects.Contains(PropObj))
            {
                PaintPropObjects.Add(PropObj);

                GameObject NewPropListObject = Instantiate(PaintPropListObject, PaintPropPivot) as GameObject;
                PropData   pb = NewPropListObject.GetComponent <PropData>();
                pb.SetPropPaint(PaintPropObjects.Count - 1, PropObj.BP.Name);
                PaintButtons.Add(pb);
                return(true);
            }
            return(false);
        }
        int GenerateMapPropButton(string loadPath, string absolutePath, GameObject Prefab)
        {
            string RelativePath = "/" + absolutePath.Replace(MapLuaParser.LoadedMapFolderPath, MapLuaParser.RelativeLoadedMapFolderPath);

            Debug.Log(RelativePath);

            string PropPath = "";

            if (RelativePath.EndsWith(".bp"))
            {
                PropPath = RelativePath.Replace(".bp", "");
            }
            else if (RelativePath.EndsWith(".BP"))
            {
                PropPath = RelativePath.Replace(".BP", "");
            }

            GetGamedataFile.PropObject LoadedProp = GetGamedataFile.LoadProp(GetGamedataFile.MapScd, RelativePath);

            GameObject NewButton = Instantiate(Prefab) as GameObject;

            NewButton.transform.SetParent(Pivot, false);

            if (LoadedProp.BP.LODs.Length > 0 && LoadedProp.BP.LODs[0].Albedo)
            {
                NewButton.GetComponent <RawImage>().texture = LoadedProp.BP.LODs[0].Albedo;
            }

            ResourceObject Ro = NewButton.GetComponent <ResourceObject>();

            Ro.InstanceId          = LoadedPaths.Count;
            Ro.NameField.text      = LoadedProp.BP.Name;
            PropPath               = PropPath.Replace(LoadedProp.BP.Name, "");
            Ro.CustomTexts[2].text = PropPath;

            Ro.CustomTexts[0].text = LoadedProp.BP.ReclaimMassMax.ToString();
            Ro.CustomTexts[1].text = LoadedProp.BP.ReclaimEnergyMax.ToString();
            LoadedPaths.Add(RelativePath);
            LoadedProps.Add(LoadedProp);

            if (RelativePath.ToLower() == SelectedObject.ToLower())
            {
                Ro.Selected.SetActive(true);
                Pivot.GetComponent <RectTransform>().anchoredPosition = Vector2.up * 250 * Mathf.FloorToInt(LoadedPaths.Count / 5f);
            }

            return(1);
        }