void playTalkStart()
        {
            m_plotId++;
            //Debug.Log("=============m_plotId: " + m_plotId);

            m_plotConf = GetPlotWarStartConf(m_stageId, m_plotId);
            if (m_plotConf == null)
            {
                Debug.LogFormat("<color=green>cant find plotconf {0} {1}</color>", m_stageId, m_plotId);
                //PlayerPrefs.SetInt("plot_" + m_stageId, 1);
                initPlot();
                return;
            }

            aratarConf = GetAvatarConf(m_plotConf.avatarId);
            if (aratarConf == null)
            {
                Debug.LogFormat("<color=green>cant find aratarConf {0} {1}</color>", m_stageId, m_plotId);
                //PlayerPrefs.SetInt("plot_" + m_stageId, 1);
                initPlot();
                return;
            }
            War.Pause();
            aratarConf.LoadFull(LoadFullDone);
        }
Exemple #2
0
        public void SetHero(int heroId)
        {
            this.heroId = heroId;

            AvatarConfig avatarConfig = Goo.avatar.GetConfig(heroId);

            avatarConfig.LoadFull(OnLoadIcon);
        }
        void Start()
        {
            foreach (int buildId in  winConfig.t1_builds)
            {
                UnitCtl unitCtl = War.scene.GetBuild(buildId);
                builds.Add(unitCtl);
                avatarConfig = unitCtl.unitData.avatarConfig;
            }

            view.avatarConfig = avatarConfig;
        }
Exemple #4
0
 void LoadAvatarConf(XmlReader reader, AvatarConfig avatarConf)
 {
     if (reader.HasAttributes)
     {
         while (reader.MoveToNextAttribute())
         {
             if (reader.Name == "price")
             {
                 avatarConf.price = int.Parse(reader.Value);
             }
         }
     }
 }
        public AvatarConfig GetAvatarConf(int avatarId)
        {
            AvatarConfig avatarConfig = null;

            avatarConfig = Goo.avatar.GetConfig(avatarId);

            if (avatarConfig == null)
            {
                avatarConfig = Goo.avatar.GetConfig(20001);
            }

            return(avatarConfig);
        }
        private static void UseAvatar(IApplicationBuilder app, AvatarConfig avatarConfig)
        {
            if (!Directory.Exists(avatarConfig.Path))
            {
                Directory.CreateDirectory(avatarConfig.Path);
            }

            app.UseStaticFiles(new StaticFileOptions()
            {
                RequestPath  = avatarConfig.RequestPath,
                FileProvider = new PhysicalFileProvider(avatarConfig.Path)
            });
        }
Exemple #7
0
        /** 图标 */
        public AvatarConfig GetAvatarConf(int avatarId)
        {
            AvatarConfig avatarConfig = null;

            avatarConfig = Goo.avatar.GetConfig(avatarId);

            if (avatarConfig == null)
            {
                Debug.LogErrorFormat("skillId={0}, avatarConfig={1}, avatarId={2} ", skillId, avatarConfig, avatarId);
                avatarConfig = Goo.avatar.GetConfig(20001);
            }

            return(avatarConfig);
        }
 void initPlot()
 {
     m_stageId  = 0;
     m_plotId   = 0;
     m_plotConf = null;
     aratarConf = null;
     if (m_plotPannel != null)
     {
         Destroy(m_plotPannel);
     }
     m_imgHeroFull = null;
     m_nameBg      = null;
     m_textContent = null;
     if (War.isPlaying == false)
     {
         War.Play();
     }
     isTipsJumping = false;
 }
Exemple #9
0
    private void InitializeAvatarNameStrs()
    {
        //ConfigDatabase.DelayLoadFileDelegate delayLoadFileDel = ConfigDelayLoader.DelayLoadConfig;
        //string str = "";
        //int fileFormat = 0;
        //IFileLoader fileLoader = delayLoadFileDel(typeof(AvatarConfig), out str, out fileFormat);
        //AvatarConfig config1 = ConfigDatabase.LoadConfig<AvatarConfig>(ConfigDatabase.DefaultCfg, fileLoader, fileFormat, str);
        //config1.GetType();


        AvatarConfig aconfig = ConfigDatabase.DefaultCfg.AvatarConfig;

        avatarNameStrs = new string[ConfigDatabase.DefaultCfg.AvatarConfig.avatars.Count];
        avatarIds      = new int[ConfigDatabase.DefaultCfg.AvatarConfig.avatars.Count];
        for (int i = 0; i < ConfigDatabase.DefaultCfg.AvatarConfig.avatars.Count; i++)
        {
            AvatarConfig.Avatar avatarCfg = ConfigDatabase.DefaultCfg.AvatarConfig.avatars[i];

            string name = ItemInfoUtility.GetAssetName(avatarCfg.id);
            avatarIds[i]      = avatarCfg.id;
            avatarNameStrs[i] = name;
        }
    }
Exemple #10
0
    public void LoadFromXML(string path)
    {
        globalConf = new GlobalConfig();   //! 全局配置
        playerConf = new PlayerConfig();   //! 玩家配置

        XmlReader    reader = null;
        StringReader s      = null;
        Stream       stream = null;

        if (path != null)
        {
            path = Application.dataPath + path;
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            stream = File.Open(path + "config.xml", FileMode.Open);
            reader = XmlReader.Create(stream);
        }
        else
        {
            TextAsset XMLFile = GameApp.GetInstance().GetResourceConfig().configXml;
            s = new StringReader(XMLFile.text);

            reader = XmlReader.Create(s);
        }

        WeaponConfig weaponConf = null;
        AvatarConfig avatarConf = null;

        while (reader.Read())
        {
            switch (reader.NodeType)
            {
            case XmlNodeType.Element:

                if (reader.Name == "Global")
                {
                    LoadGlobalConf(reader);
                }
                else if (reader.Name == "Player")
                {
                    LoadPlayerConf(reader);
                }
                else if (reader.Name == "Avatar")
                {
                    avatarConf = new AvatarConfig();
                    LoadAvatarConf(reader, avatarConf);
                    avatarConfTable.Add(avatarConf);
                }
                else if (reader.Name == "Monster")
                {
                    LoadMonstersConf(reader);
                }
                else if (reader.Name == "Weapon")
                {
                    weaponConf = new WeaponConfig();
                    LoadWeaponConf(reader, weaponConf);
                    weaponConfTable.Add(weaponConf);
                }
                else if (reader.Name == "Damage")
                {
                    LoadUpgradeConf(reader, weaponConf, "Damage");
                }
                else if (reader.Name == "Frequency")
                {
                    LoadUpgradeConf(reader, weaponConf, "Frequency");
                }
                else if (reader.Name == "Accuracy")
                {
                    LoadUpgradeConf(reader, weaponConf, "Accuracy");
                }
                else if (reader.Name == "Loot")
                {
                    LoadLootWeapon(reader, weaponConf);
                }

                break;

            case XmlNodeType.EndElement:
                break;
            }
        }



        if (reader != null)
        {
            reader.Close();
        }
        if (s != null)
        {
            s.Close();
        }

        if (stream != null)
        {
            stream.Close();
        }
    }
Exemple #11
0
 public AvatarRotatorBehavior(IDiscordClient client, AvatarConfig config, ILogger <AvatarRotatorBehavior> logger)
 {
     _client = client as DiscordSocketClient;
     _config = config;
     _logger = logger;
 }
    public void SetSolider(int enemySoliderAvatarId)
    {
        AvatarConfig avatarConfig = Goo.avatar.GetConfig(enemySoliderAvatarId);

        avatarConfig.LoadFull(OnLoadIcon);
    }
        void GUI_Wall()
        {
            EditorGUILayout.BeginVertical(style_box_marginleft);

            foreach (KeyValuePair <int, BuildWallConfig> kvp in War.model.buildWallConfigs)
            {
                BuildWallConfig wallConfig = kvp.Value;

                GUILayout.Space(10);
                EditorGUILayout.BeginHorizontal();

                GUILayout.Label(wallConfig.id + "", style_label_wall_id, GUILayout.Width(50), GUILayout.Height(100));

                AvatarConfig avatarConfig = Goo.avatar.GetConfig(wallConfig.avatarId);
                GameObject   prefab       = null;
                if (avatarConfig != null)
                {
                    prefab = WarRes.GetPrefab(avatarConfig.model);
                }

                if (prefab)
                {
                    SpriteAvatar spriteAvatar = prefab.GetComponent <SpriteAvatar>();
                    Sprite       sprite       = spriteAvatar.avatarData.avatarActions[0].GetSpriteAnimationClip(wallConfig.angle).frames[0];


                    Texture2D tex = null;
                    if (!wall_icon_dict.TryGetValue(sprite, out tex))
                    {
                        tex = new Texture2D((int)sprite.rect.width, (int)sprite.rect.height, TextureFormat.RGBA32, false);

                        Color[] pixels = sprite.texture.GetPixels((int)sprite.rect.xMin, (int)sprite.rect.yMin,
                                                                  (int)sprite.rect.width, (int)sprite.rect.height);
                        tex.SetPixels(pixels);
                        tex.Apply();
                        wall_icon_dict.Add(sprite, tex);
                    }

                    if (GUILayout.Button(tex, GUILayout.Width(100), GUILayout.Height(100)))
                    {
                        Click_Wall(wallConfig);
                    }
                }
                else
                {
                    GUILayout.Button("没有资源", GUILayout.Width(100), GUILayout.Height(100));

                    if (avatarConfig != null)
                    {
                        WarEditor.LoadRes(avatarConfig.model);
                    }
                }


                GUILayout.Label(wallConfig.name, style_label_wall_line, GUILayout.Width(100), GUILayout.Height(100));
                GUILayout.Label(wallConfig.wallType == WallType.Cube ? "立方体" : "球", style_label_wall_line, GUILayout.Width(50), GUILayout.Height(100));
                if (wallConfig.wallType == WallType.Cube)
                {
                    GUILayout.Label("角度:" + wallConfig.angle, style_label_wall_line, GUILayout.Width(100), GUILayout.Height(100));
                    GUILayout.Label("大小:" + wallConfig.size.x + "x" + wallConfig.size.z, style_label_wall_line, GUILayout.Width(100), GUILayout.Height(100));
                }
                else
                {
                    GUILayout.Label("半径:" + wallConfig.radius, style_label_wall_line, GUILayout.Width(100), GUILayout.Height(100));
                }


                EditorGUILayout.EndHorizontal();
                GUILayout.Space(10);
                GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(1));
            }
            EditorGUILayout.EndVertical();
        }
        void GUI_Build(int buildTypeValue, string name)
        {
            EditorGUILayout.BeginVertical(style_box_marginleft);
            buildSwitchs[buildTypeValue] = GUILayout.Toggle(buildSwitchs[buildTypeValue], name, style_label_type, GUILayout.ExpandWidth(true));
            if (buildSwitchs[buildTypeValue])
            {
                GUIContent iconContent = new GUIContent("");
                GUILayout.BeginHorizontal(iconContent, style_box_key);
                int column = 0;
                for (int i = 0; i < colorEnables.Length; i++)
                {
                    if (colorEnables[i])
                    {
                        GUILayout.Space(10);
                        GUILayout.Label(colorNames[i], style_box_key, GUILayout.Width(100), GUILayout.Height(18));
                        GUILayout.Space(10);
                        column++;
                    }
                }
                GUILayout.EndHorizontal();


                foreach (KeyValuePair <int, BuildConfig> kvp in War.model.buildConfigs)
                {
                    BuildConfig buildConfig = kvp.Value;

                    if ((int)buildConfig.buildType != buildTypeValue + 1)
                    {
                        continue;
                    }

                    GUILayout.Space(20);

                    foreach (KeyValuePair <int, BuildLevelConfig> levelKVP in buildConfig.levels)
                    {
                        BuildLevelConfig levelConfig = levelKVP.Value;
                        if (levelEnables[levelConfig.level - 1] == false)
                        {
                            continue;
                        }

                        EditorGUILayout.BeginHorizontal(GUILayout.Width(column * 120));
                        for (int i = 0; i < colorEnables.Length; i++)
                        {
                            if (colorEnables[i])
                            {
                                AvatarConfig avatarConfig = Goo.avatar.GetConfig(levelConfig.avatarId);
                                string       file         = avatarConfig.GetModelPath(colorIds[i]);

                                GameObject prefab = WarRes.GetPrefab(file);
                                if (prefab)
                                {
                                    GUILayout.Space(10);
                                    EditorGUILayout.BeginVertical();
                                    SpriteAvatar spriteAvatar = prefab.GetComponent <SpriteAvatar>();
                                    Sprite       sprite       = spriteAvatar.avatarData.avatarActions[0].clips[0].frames[0];
                                    if (GUILayout.Button(sprite.texture, GUILayout.Width(100), GUILayout.Height(100)))
                                    {
                                        Click_Build(colorIds[i], levelConfig.level, buildConfig);
                                    }
                                    GUILayout.Label(buildConfig.id + " " + levelConfig.name, style_label_icon_hasbg, GUILayout.Width(100));

                                    if (levelConfig.basepropId > 0)
                                    {
                                        GUILayout.Label("<color=#55AAAA><b>#" + levelConfig.basepropId + " 基本属性</b></color>", style_label_prop);
                                        foreach (Prop prop in levelConfig.basepropConfig.props)
                                        {
                                            GUILayout.Label("<color=#88AAAA>" + prop.id + " " + prop.Name + ":" + prop.ValueStr + "</color>", style_label_prop, GUILayout.Width(150));
                                        }
                                    }

                                    if (levelConfig.produceId > 0)
                                    {
                                        GUILayout.Space(5);
                                        GUILayout.Label("<color=#55AA55><b>#" + levelConfig.produceId + " 生产属性</b></color>", style_label_prop);
                                        foreach (Prop prop in levelConfig.produceConfig.props)
                                        {
                                            GUILayout.Label("<color=#88AA88>" + prop.id + " " + prop.Name + ":" + prop.ValueStr + "</color>", style_label_prop, GUILayout.Width(150));
                                        }
                                    }

                                    if (levelConfig.turretId > 0)
                                    {
                                        GUILayout.Space(5);
                                        GUILayout.Label("<color=#AA5555><b>#" + levelConfig.turretId + " 箭塔属性</b></color>", style_label_prop);
                                        foreach (Prop prop in levelConfig.turretConfig.props)
                                        {
                                            GUILayout.Label("<color=#AA8888>" + prop.id + " " + prop.Name + ":" + prop.ValueStr + "</color>", style_label_prop, GUILayout.Width(150));
                                        }
                                    }

                                    if (levelConfig.spotId > 0)
                                    {
                                        GUILayout.Space(5);
                                        GUILayout.Label("<color=#5555AA><b>#" + levelConfig.spotId + " 据点属性</b></color>", style_label_prop);
                                        foreach (Prop prop in levelConfig.spotConfig.props)
                                        {
                                            GUILayout.Label("<color=#8888AA>" + prop.id + " " + prop.Name + ":" + prop.ValueStr + "</color>", style_label_prop, GUILayout.Width(150));
                                        }
                                    }

                                    EditorGUILayout.EndVertical();
                                    GUILayout.Space(10);
                                }
                                else
                                {
                                    GUILayout.Space(10);
                                    GUILayout.Button("没有资源", GUILayout.Width(100), GUILayout.Height(100));
                                    GUILayout.Space(10);

                                    WarEditor.LoadRes(file);
                                }
                            }
                        }
                        EditorGUILayout.EndHorizontal();
                    }


                    GUILayout.Space(20);
                }
            }
            EditorGUILayout.EndVertical();
        }