コード例 #1
0
    private void LoadSkinCheck()
    {
        if (Level.Name.Contains("City"))
        {
            if (SkinSettings.SkinsCheck(SkinSettings.CitySkins))
            {
                if (SkinSettings.CitySet.Value != StringSetting.NotDefine)
                {
                    var set = new CityPreset(SkinSettings.CitySet);
                    set.Load();
                    var n = "";
                    for (var i = 0; i < 250; i++)
                    {
                        var val = Random.Range(0, 8);
                        n += val.ToString();
                    }

                    var urls  = string.Join(",", set.Houses) + ",";
                    var urls2 = $"{set.Ground},{set.Wall},{set.Gate}";
                    var box   = new string[6].Select(x => "").ToArray();
                    if (set.LinkedSkybox != StringSetting.NotDefine)
                    {
                        var boxSet = new SkyboxPreset(set.LinkedSkybox);
                        boxSet.Load();
                        box = boxSet.ToSkinData();
                    }

                    LoadMapSkin(n, urls, urls2, box);
                    if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && PhotonNetwork.IsMasterClient &&
                        SkinSettings.CitySkins.Value != 2)
                    {
                        BasePV.RPC("loadskinRPC", PhotonTargets.OthersBuffered, n, urls, urls2, box);
                    }
                }
            }
        }
        else if (Level.MapName.Contains("Forest"))
        {
            if (SkinSettings.SkinsCheck(SkinSettings.ForestSkins))
            {
                if (SkinSettings.ForestSet.Value != StringSetting.NotDefine)
                {
                    var set = new ForestPreset(SkinSettings.ForestSet);
                    set.Load();
                    var n = "";
                    for (var i = 0; i < 150; i++)
                    {
                        var val = Random.Range(0, 8);
                        n += val.ToString();
                        if (set.RandomizePairs)
                        {
                            n += Random.Range(0, 8).ToString();
                        }
                        else
                        {
                            n += val.ToString();
                        }
                    }

                    var urls  = string.Join(",", set.Trees) + ",";
                    var urls2 = string.Join(",", set.Leaves);
                    urls2 += "," + set.Ground;
                    var box = new string[6].Select(x => "").ToArray();
                    if (set.LinkedSkybox != StringSetting.NotDefine)
                    {
                        var boxSet = new SkyboxPreset(set.LinkedSkybox);
                        boxSet.Load();
                        box = boxSet.ToSkinData();
                    }

                    LoadMapSkin(n, urls, urls2, box);
                    if (IN_GAME_MAIN_CAMERA.GameType == GameType.MultiPlayer && PhotonNetwork.IsMasterClient &&
                        SkinSettings.ForestSkins.Value != 2)
                    {
                        BasePV.RPC("loadskinRPC", PhotonTargets.OthersBuffered, n, urls, urls2, box);
                    }
                }
            }
        }
    }