コード例 #1
0
ファイル: TaskList.cs プロジェクト: webconfig/Design
    /// <summary>
    /// 绘制行为树所有的行为节点
    /// </summary>
    /// <param name="window"></param>
    public void drawTaskList(SkillWindow window)
    {
        //搜索
            GUILayout.BeginHorizontal(new GUILayoutOption[0]);
            GUI.SetNextControlName("Search");
            string value = GUILayout.TextField(this.mSearchString, GUI.skin.FindStyle("ToolbarSeachTextField"), new GUILayoutOption[0]);
            if (this.mFocusSearch)
            {
                GUI.FocusControl("Search");
                this.mFocusSearch = false;
            }
            if (!this.mSearchString.Equals(value))
            {
                this.mSearchString = value;
                this.Search(this.mSearchString.ToLower().Replace(" ", ""), this.mCategoryList);
            }
            if (GUILayout.Button("", this.mSearchString.Equals("") ? GUI.skin.FindStyle("ToolbarSeachCancelButtonEmpty") : GUI.skin.FindStyle("ToolbarSeachCancelButton"), new GUILayoutOption[0]))
            {
                this.mSearchString = "";
                this.Search("", this.mCategoryList);
                GUI.FocusControl(null);
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(4f);
            this.mScrollPosition = GUILayout.BeginScrollView(this.mScrollPosition, new GUILayoutOption[0]);

            for (int i = 0; i < mCategoryList.Count; i++)
            {
                this.DrawCategory(window, this.mCategoryList[i]);
            }
            GUILayout.EndScrollView();
    }
コード例 #2
0
        private void SkillSelect_Click(object Sender, RoutedEventArgs E)
        {
            SkillWindow Dialog = new SkillWindow();

            Dialog.Init(App.SkillList);
            Dialog.SelectSkill(SelectedSkill);
            Dialog.ShowDialog();
            if (Dialog.Canceled)
            {
                return;
            }

            this.SelectedSkill = Dialog.SelectedSkill.Clone() as Skill;

            if (SelectedSkill.Image != null)
            {
                using (MemoryStream Stream = new MemoryStream())
                {
                    SelectedSkill.Image.Save(Stream, ImageFormat.Png);
                    BitmapImage Temp = new BitmapImage();
                    Temp.BeginInit();
                    Temp.CacheOption  = BitmapCacheOption.OnLoad;
                    Temp.StreamSource = Stream;
                    Temp.EndInit();
                    SkillImg.Source = Temp;
                }
            }
            else
            {
                SkillImg.Source = null;
            }
            SkillName.Text = SelectedSkill.Name;
        }
コード例 #3
0
    public void SetSlot(int slot)
    {
        shortcutPanel.SetActive(false);
        SkillWindow sk = player.GetComponent <SkillWindow>();

        sk.AssignSkillByID(slot, skillSlots[buttonSelect].skillId);
    }
コード例 #4
0
ファイル: SkillWindow.cs プロジェクト: webconfig/Design
 public static void ShowWindow()
 {
     Instance = EditorWindow.GetWindow(typeof(SkillWindow)) as SkillWindow;//显示窗体
     Instance.wantsMouseMove = true;
     Instance.minSize = new Vector2(600f, 500f);
     UnityEngine.Object.DontDestroyOnLoad(Instance);
     //BehaviorDesignerPreferences.InitPrefernces();
 }
コード例 #5
0
    public void LearnSkill(int buttonId)
    {
        if (player.GetComponent <Status>().skillPoint < skillSlots[buttonId].skPointUse)
        {
            print("Not enough Skill Point");
            return;
        }
        player.GetComponent <Status>().skillPoint -= skillSlots[buttonId].skPointUse;
        SkillWindow sk = player.GetComponent <SkillWindow>();

        sk.AddSkill(skillSlots[buttonId].skillId);
        CheckUnlockSkill();
        UpdateSkillButton();
    }
コード例 #6
0
    void OpenSkillWindow(string newSkillName, List <SkillBase> skills)
    {
        if (skills != null)
        {
            if (skillWindow == null)
            {
                skillWindow = EditorWindow.GetWindow <SkillWindow>("");
            }
            skillWindow.titleContent = new GUIContent(newSkillName);

            skillWindow.SetInitSkill(skills, m_player.player);
            skillWindow.Show();
            skillWindow.Repaint();
        }
    }
コード例 #7
0
    public void CheckLearnedSkill()
    {
        if (!player)
        {
            return;
        }
        SkillWindow sk = player.GetComponent <SkillWindow>();

        for (int a = 0; a < skillSlots.Length; a++)
        {
            if (skillSlots[a].skillId > 0)
            {
                skillSlots[a].learned = sk.HaveSkill(skillSlots[a].skillId);
            }
        }
    }
コード例 #8
0
ファイル: SkillWindow.cs プロジェクト: zwong91/Titan
    public static void Init()
    {
        //CSkillManager.Instance.Create ();

        SkillWindow window = (SkillWindow)EditorWindow.GetWindow <SkillWindow> ();

        window.autoRepaintOnSceneChange = true;
        window.Show();



//		GameObject obj = GameObject.Find ("BattleCamera");
//		if (obj == null)
//		{
//			return;
//		}
//		window.skillcontrol = obj.GetComponent<SkillControl> ();
    }
コード例 #9
0
    public void CheckUnlockSkill()
    {
        if (!player)
        {
            return;
        }
        CheckLearnedSkill();
        SkillWindow sk = player.GetComponent <SkillWindow>();
        int         lv = player.GetComponent <Status>().level;

        for (int a = 0; a < skillSlots.Length; a++)
        {
            //Check Player Level
            bool lvPass    = false;
            int  allUnlock = 0;
            if (lv >= skillSlots[a].unlockLevel)
            {
                lvPass = true;
            }

            //Check unlockConditionId
            if (skillSlots[a].unlockConditionId.Length > 0)
            {
                allUnlock = 0;
                for (int b = 0; b < skillSlots[a].unlockConditionId.Length; b++)
                {
                    if (sk.HaveSkill(skillSlots[a].unlockConditionId[b]))
                    {
                        allUnlock++;
                    }
                }
            }
            //If Overall Pass
            if (lvPass && allUnlock >= skillSlots[a].unlockConditionId.Length)
            {
                skillSlots[a].locked = false;
            }
        }
    }
コード例 #10
0
    void LoadBattle()
    {
        //LoadScene.Instance.LoadAsignedSene ("Scenes/pvp_001")
        //ResourcesManager.HandleFinishLoadLevel += onFinishLoadLevel;

        DontDestroyOnLoad(GameObject.Find("GameUI"));
        DontDestroyOnLoad(this);
        DontDestroyOnLoad(GameObject.Find("JxBlGame"));

        ResourcesManager.Instance.Init();
        ResourcesManager.HandleFinishLoadLevel del = onFinishLoadLevel;
        ResourcesManager.Instance.loadLevel("cenes/pvp_001", del);

        //HeroTimeLimitWindow window = WindowManager.Instance.GetWindow (EWindowType.EMT_HeroTimeLimitWindow) as HeroTimeLimitWindow;
        //string path = GameDefine.GameConstDefine.LoadMonsterModels;
        //Entity entity;
        //entity.r
        Ientity player = new Iselfplayer(1001, EntityCampType.CampTypeA);

        player.entityType = EntityType.Player;
        player.ObjTypeID  = 10003;       //<szNOStr>10003</szNOStr>


        new EntityManager();
        new PlayerManager();

        //依赖Audio?
        new GameStateManager();
        //GameStateManager.Instance.EnterDefaultState();
        //GameStateManager.Instance.ChangeGameStateTo(GameStateType.GS_Play);
        PlayState state = GameStateManager.Instance.GetCurState() as PlayState;

        Vector3 playerDefPosition = this.ConvertPosToVector3(new Vector2(21600, 7400));

        //实际上创建场景的player实例
        mPlayerObj = EntityManager.Instance.CreateEntityModel(player, 1001, new Vector3(0, 0, 0), playerDefPosition);

        DontDestroyOnLoad(mPlayerObj);
        //PlayerManager.Instance.LocalPlayer = new

        SkillWindow window = WindowManager.Instance.GetWindow(EWindowType.EMT_SkillWindow) as SkillWindow;

        window.Show();

        //摇杆
        //依赖于PlayerManager.Instance.LocalAccount
        //还依赖于PlayerManager.Instance.LocalPlayer.RealEntity
        PlayerManager.Instance.LocalAccount = (Iplayer)player;
        PlayerManager.Instance.LocalAccount.SetObjType(GameDefine.ObPlayerOrPlayer.PlayerType);         //play state需要
        GamePlayWindow panel = WindowManager.Instance.GetWindow(EWindowType.EWT_GamePlayWindow) as GamePlayWindow;

        panel.Show();

//		GameObject uiRoot = GameObject.Find ("GameUI");
//		ResourceUnit unit = ResourcesManager.Instance.loadImmediate ("Guis/UIMainWindow",ResourceType.PREFAB);
//		GameObject virtualPanel = GameObject.Instantiate (unit.Asset) as GameObject;
//		virtualPanel.transform.parent = uiRoot.transform;


        Ientity diren = new Iplayer(1002, EntityCampType.CampTypeB);

        diren.entityType = EntityType.Player;
        diren.ObjTypeID  = 10004;
        Vector3    direnPosition = this.ConvertPosToVector3(new Vector2(21600, 7430));
        GameObject direnObject   = EntityManager.Instance.CreateEntityModel(diren, 1002, new Vector3(0, 0, 0), direnPosition);

        DontDestroyOnLoad(direnObject);

        System.Collections.Generic.List <string> sources = new System.Collections.Generic.List <string>();
        //sources.Add("Media/Effect/Model/Materials/guangquan.tga");
        sources.Add("Audio/sounddead/Nvyao5_Dead");             //mp3
        sources.Add("effect/ui_effect/Remove_cooling_effect");  //prefab
        sources.Add("Audio/sounddead/Nvyao5_Attack");
        //sources.Add ("effect/skill/release/sword_ex");//skill manager id : 140026
        ResourceCache.Instance.preLoadResources(sources);

        ResourceCache.Instance.preLoadResources(10004);
    }
コード例 #11
0
 public _0024ShowLearnedSkill_0024216(int id, SkillWindow self_)
 {
     _0024id_0024220    = id;
     _0024self__0024221 = self_;
 }
コード例 #12
0
ファイル: TaskList.cs プロジェクト: webconfig/Design
 public void addTasksToMenu(SkillWindow window, ref GenericMenu genericMenu)
 {
     this.addCategoryTasksToMenu(window, ref genericMenu, this.mCategoryList);
 }
コード例 #13
0
ファイル: TaskList.cs プロジェクト: webconfig/Design
 private void DrawCategoryTaskList(SkillWindow window, List<TaskList.CategoryList> categoryList)
 {
     for (int i = 0; i < categoryList.Count; i++)
         {
             this.DrawCategory(window, categoryList[i]);
         }
 }
コード例 #14
0
ファイル: TaskList.cs プロジェクト: webconfig/Design
    /// <summary>
    /// 绘制树的叶子结点
    /// </summary>
    /// <param name="window"></param>
    /// <param name="category"></param>
    private void DrawCategory(SkillWindow window, TaskList.CategoryList category)
    {
        if (category.Visible)
            {
                category.Expanded = EditorGUILayout.Foldout(category.Expanded, category.Name);
                this.SetExpanded(category.ID, category.Expanded);
                if (category.Expanded)
                {
                    EditorGUI.indentLevel = EditorGUI.indentLevel + 1;
                    if (category.Tasks != null)
                    {
                        for (int i = 0; i < category.Tasks.Count; i++)
                        {
                            if (category.Tasks[i].Visible)
                            {
                                GUILayout.BeginHorizontal(new GUILayoutOption[0]);
                                GUILayout.Space((float)(EditorGUI.indentLevel * 10));

                                TaskNameAttribute[] array = category.Tasks[i].Type.GetCustomAttributes(typeof(TaskNameAttribute), false) as TaskNameAttribute[];
                                if (GUILayout.Button(array[0].Name, EditorStyles.toolbarButton, new GUILayoutOption[0]))
                                {//点击按钮,添加一个任务
                                    window.addTask(category.Tasks[i].Type, false);
                                }

                                GUILayout.Space(3f);
                                GUILayout.EndHorizontal();
                            }
                        }
                    }
                    if (category.Subcategories != null)
                    {
                        this.DrawCategoryTaskList(window, category.Subcategories);
                    }
                    EditorGUI.indentLevel = EditorGUI.indentLevel - 1;
                }
            }
    }
コード例 #15
0
ファイル: TaskList.cs プロジェクト: webconfig/Design
 private void addCategoryTasksToMenu(SkillWindow window, ref GenericMenu genericMenu, List<TaskList.CategoryList> categoryList)
 {
     for (int i = 0; i < categoryList.Count; i++)
         {
             if (categoryList[i].Subcategories != null)
             {
                 this.addCategoryTasksToMenu(window, ref genericMenu, categoryList[i].Subcategories);
             }
             if (categoryList[i].Tasks != null)
             {
                 for (int j = 0; j < categoryList[i].Tasks.Count; j++)
                 {
                     genericMenu.AddItem(new GUIContent(string.Format("Add Task/{0}/{1}", categoryList[i].Fullpath,categoryList[i].Tasks[j].Type.Name.ToString())), false, new GenericMenu.MenuFunction2(window.addTaskCallback), categoryList[i].Tasks[j].Type);
                 }
             }
         }
 }
コード例 #16
0
    void LoadBattle()
    {
        //LoadScene.Instance.LoadAsignedSene ("Scenes/pvp_001")
        //ResourcesManager.HandleFinishLoadLevel += onFinishLoadLevel;

        DontDestroyOnLoad(GameObject.Find("GameUI"));
        DontDestroyOnLoad(this);
        DontDestroyOnLoad(GameObject.Find("JxBlGame"));

        ResourcesManager.Instance.Init();
        ResourcesManager.HandleFinishLoadLevel del = onFinishLoadLevel;
        ResourcesManager.Instance.loadLevel("cenes/pvp_001", del);

        //HeroTimeLimitWindow window = WindowManager.Instance.GetWindow (EWindowType.EMT_HeroTimeLimitWindow) as HeroTimeLimitWindow;
        //string path = GameDefine.GameConstDefine.LoadMonsterModels;
        //Entity entity;
        //entity.r
        Ientity player = new Iselfplayer(1001, EntityCampType.CampTypeA);

        player.entityType = EntityType.Player;
        player.ObjTypeID  = 10003;       //<szNOStr>10003</szNOStr>


        new EntityManager();
        new PlayerManager();

        //依赖Audio?
        new GameStateManager();
        //GameStateManager.Instance.EnterDefaultState();
        //GameStateManager.Instance.ChangeGameStateTo(GameStateType.GS_Play);
        PlayState state = GameStateManager.Instance.GetCurState() as PlayState;

        Vector3 playerDefPosition = this.ConvertPosToVector3(new Vector2(21600, 7400));

        mPlayerObj = EntityManager.Instance.CreateEntityModel(player, 1001, new Vector3(0, 0, 0), playerDefPosition);

        DontDestroyOnLoad(mPlayerObj);
        //PlayerManager.Instance.LocalPlayer = new

        SkillWindow window = WindowManager.Instance.GetWindow(EWindowType.EMT_SkillWindow) as SkillWindow;

        window.Show();

        //摇杆
        //依赖于PlayerManager.Instance.LocalAccount
        //还依赖于PlayerManager.Instance.LocalPlayer.RealEntity
        PlayerManager.Instance.LocalAccount = (Iplayer)player;
        PlayerManager.Instance.LocalAccount.SetObjType(GameDefine.ObPlayerOrPlayer.PlayerType);         //play state需要
        GamePlayWindow panel = WindowManager.Instance.GetWindow(EWindowType.EWT_GamePlayWindow) as GamePlayWindow;

        panel.Show();

//		GameObject uiRoot = GameObject.Find ("GameUI");
//		ResourceUnit unit = ResourcesManager.Instance.loadImmediate ("Guis/UIMainWindow",ResourceType.PREFAB);
//		GameObject virtualPanel = GameObject.Instantiate (unit.Asset) as GameObject;
//		virtualPanel.transform.parent = uiRoot.transform;


//		child.transform.parent =

        //	gameObject.transform.
        //gameObject.transform.
    }