Пример #1
0
    public void UpdateView(object sender, EventArgs e)
    {
        if (roleInfoPanel != null)
        {
            Destroy(roleInfoPanel);
        }
        if (Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().playerNumber == Global.GetInstance().playerDB.playerNumber)
        {
            gameObject.SetActive(true);
            CreateBaseInfo(Controller_Main.GetInstance().character);
        }
        else
        {
            gameObject.SetActive(false);

            roleInfoPanel = CreateRoleInfoPanel(Controller_Main.GetInstance().character);
        }

        if (skillMenu.gameObject.activeSelf)
        {
            skillMenu.GetComponent <SkillMenu>().UpdateView();
        }
        if (itemMenu_Role.gameObject.activeSelf)
        {
            itemMenu_Role.GetComponent <ItemMenu_Role>().UpdateView();
        }
        if (roleInfo.gameObject.activeSelf)
        {
            roleInfo.GetComponent <RoleInfo>().UpdateView();
        }
    }
Пример #2
0
    private void Equip()
    {
        Controller_Main.GetInstance().itemMenu.UpdateView();
        var buttonRecord = Controller_Main.GetInstance().itemMenu.buttonRecord;

        gameObject.SetActive(false);
        var btn          = EventSystem.current.currentSelectedGameObject;
        var itemPosition = allButtons.IndexOf(btn);

        foreach (var pair in buttonRecord)
        {
            pair.Key.GetComponent <Button>().onClick.RemoveAllListeners();
            pair.Key.GetComponent <Button>().onClick.AddListener(() =>
            {
                ItemData tempItemData = Global.GetInstance().playerDB.items.Find(item => item.ID == pair.Value);

                //已经装备
                if (tempItemData.equipped.Length > 0)
                {
                    var items = Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == tempItemData.equipped).items;
                    items.Remove(items.Find(item => item.ID == pair.Value));
                }

                tempItemData.equipped = Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName;
                var privateItemData   = new PrivateItemData(pair.Value, tempItemData.itemName, itemPosition);
                Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).items.Add(privateItemData);
                Controller_Main.GetInstance().itemMenu.gameObject.SetActive(false);
                UpdateView();
            });
        }
    }
Пример #3
0
 public void UpdateView()
 {
     gameObject.SetActive(true);
     foreach (var b in allButtons)
     {
         Destroy(b);
     }
     CreateItemList(Controller_Main.GetInstance().character);
 }
Пример #4
0
    IEnumerator BattlePrepare()
    {
        //Units Initialize的时间
        yield return(new WaitForSeconds(1));

        yield return(new WaitUntil(() => { return BattleBegin; }));

        Controller_Main.GetInstance().EndBattlePrepare();
        Destroy(Controller_Main.GetInstance());
        Destroy(battlePrepare);
    }
Пример #5
0
    public void InitUnits()
    {
        var temp = FindObjectsOfType <Unit>();

        foreach (var u in temp)
        {
            units.Add(u);
        }

        units.ForEach(u => u.GetComponent <Unit>().UnitClicked += Controller_Main.GetInstance().OnUnitClicked);
    }
Пример #6
0
 public void UpdateView(object sender, EventArgs e)
 {
     gameObject.SetActive(true);
     CreateBaseInfo(Controller_Main.GetInstance().character);
     if (skillMenu.gameObject.activeSelf)
     {
         skillMenu.GetComponent <SkillMenu>().UpdateView();
     }
     if (itemMenu_Role.gameObject.activeSelf)
     {
         itemMenu_Role.GetComponent <ItemMenu_Role>().UpdateView();
     }
 }
Пример #7
0
    public void LevelDown(string skillName)
    {
        var CS = Controller_Main.GetInstance().character.GetComponent <CharacterStatus>();

        if (CS.skills[skillName] > 0)
        {
            CS.skills[skillName]--;

            var value = CS.attributes.Find(d => d.eName == "skp").value + 1;
            ChangeData.ChangeValue(CS.transform, "skp", value);
            Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).attributes.Find(d => d.eName == "skp").value++;
            Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).skills.Find(s => s.skillName == skillName).skillLevel--;

            UpdateView();
        }
    }
Пример #8
0
    public void CreateRoleInfo(Transform character)
    {
        gameObject.SetActive(true);
        var roleEName = character.GetComponent <CharacterStatus>().roleEName;
        var data      = Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == roleEName);


        //头像、经验值、体力、查克拉、忍具数、攻击力、防御力、敏捷度、移动力、印。
        var image       = transform.Find("Image").GetComponent <Image>();
        var expInfo     = transform.Find("ExpInfo").GetComponent <Text>();
        var hpInfo      = transform.Find("HpInfo").GetComponent <Text>();
        var mpInfo      = transform.Find("MpInfo").GetComponent <Text>();
        var itemNumInfo = transform.Find("ItemNumInfo").GetComponent <Text>();
        var atkInfo     = transform.Find("AtkInfo").GetComponent <Text>();
        var defInfo     = transform.Find("DefInfo").GetComponent <Text>();
        var dexInfo     = transform.Find("DexInfo").GetComponent <Text>();
        var mudInfo     = transform.Find("MudInfo").GetComponent <Text>();
        var mrgInfo     = transform.Find("MrgInfo").GetComponent <Text>();

        var expData     = data.attributes.Find(d => d.eName == "exp");
        var hpData      = data.attributes.Find(d => d.eName == "hp");
        var mpData      = data.attributes.Find(d => d.eName == "mp");
        var itemNumData = data.attributes.Find(d => d.eName == "itemNum");
        var atkData     = data.attributes.Find(d => d.eName == "atk");
        var defData     = data.attributes.Find(d => d.eName == "def");
        var dexData     = data.attributes.Find(d => d.eName == "dex");
        var mudData     = data.attributes.Find(d => d.eName == "mud");
        var mrgData     = data.attributes.Find(d => d.eName == "mrg");

        image.sprite = Controller_Main.GetInstance().headShots.Find(s => s.name == roleEName.ToLower());

        expInfo.text = expData.value + " / " + expData.valueMax;
        hpInfo.text  = hpData.value + " / " + (hpData.valueMax - hpData.bonus) + " (" + "+" + hpData.bonus + ")";
        mpInfo.text  = mpData.value + " / " + (mpData.valueMax - mpData.bonus) + " (" + "+" + mpData.bonus + ")";
        //itemNum的value和valueMax与其他不同,再思考
        itemNumInfo.text = data.items.Count + " / " + (itemNumData.value - itemNumData.bonus) + " (" + "+" + itemNumData.bonus + ")";
        atkInfo.text     = atkData.value + " (" + "+" + atkData.bonus + ")";
        defInfo.text     = defData.value + " (" + "+" + defData.bonus + ")";
        dexInfo.text     = dexData.value + " (" + "+" + dexData.bonus + ")";
        mudInfo.text     = mudData.value + " (" + "+" + mudData.bonus + ")";
        mrgInfo.text     = mrgData.value + " (" + "+" + mrgData.bonus + ")";
    }
Пример #9
0
    public void LevelUp(string skillName)
    {
        var CS = Controller_Main.GetInstance().character.GetComponent <CharacterStatus>();

        if (CS.attributes.Find(d => d.eName == "skp").value > 0)
        {
            var tempSkill = SkillManager.GetInstance().skillList.Find(s => s.EName == skillName);

            if (CS.skills[skillName] < tempSkill.maxLevel)
            {
                CS.skills[skillName]++;

                var value = CS.attributes.Find(d => d.eName == "skp").value - 1;
                ChangeData.ChangeValue(CS.transform, "skp", value);
                Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).attributes.Find(d => d.eName == "skp").value--;
                Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).skills.Find(s => s.skillName == skillName).skillLevel++;

                UpdateView();
            }
        }
    }
Пример #10
0
    private void RemoveItem()
    {
        var      btn          = EventSystem.current.currentSelectedGameObject;
        var      itemPosition = allButtons.IndexOf(btn.transform.parent.gameObject);
        var      items        = Global.GetInstance().characterDB.characterDataList.Find(c => c.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName).items;
        var      item         = items.Find(i => i.itemPosition == itemPosition);
        ItemData tempItemData = Global.GetInstance().playerDB.items.Find(i => i.ID == item.ID);

        tempItemData.equipped = "";
        items.Remove(item);
        UpdateView();
    }
Пример #11
0
    public void LevelDown(string skillName)
    {
        var DB = Global.GetInstance().characterDB.characterDataList.Find(d => d.roleEName == Controller_Main.GetInstance().character.GetComponent <CharacterStatus>().roleEName);

        if (DB.skills.Find(s => s.skillName == skillName).skillLevel > 0)
        {
            DB.skills.Find(s => s.skillName == skillName).skillLevel--;
            DB.attributes.Find(d => d.eName == "skp").value++;

            UpdateView();
            transform.parent.GetComponent <BaseInfo>().UpdateView(this, null);
        }
    }
Пример #12
0
 public void UpdateView()
 {
     CreateRoleInfo(Controller_Main.GetInstance().character);
 }
Пример #13
0
 void Awake()
 {
     instance = this;
 }
Пример #14
0
 public void UpdateView(object sender, EventArgs e)
 {
     gameObject.SetActive(true);
     CreateBaseInfo(Controller_Main.GetInstance().character);
 }