Ejemplo n.º 1
0
    public void LoadConfig()
    {
        if (dataList.Count > 0)
        {
            return;
        }

        XmlDocument xmlDoc    = new XmlDocument();
        TextAsset   textAsset = (TextAsset)Resources.Load(xmlName);

        xmlDoc.LoadXml(textAsset.text.ToString().Trim());
        XmlElement  root  = xmlDoc.DocumentElement;
        XmlNodeList nodes = root.ChildNodes;

        foreach (XmlElement node in nodes)
        {
            MagicDataInfo info = new MagicDataInfo();
            info.SEQUENCE = int.Parse(node.GetAttribute("SEQUENCE"));
            info.NAME     = node.GetAttribute("NAME");
            info.MP       = int.Parse(node.GetAttribute("MP"));
            info.POWER    = int.Parse(node.GetAttribute("POWER"));
            info.ATTACK   = int.Parse(node.GetAttribute("ATTACK"));
            info.SCRIPT   = node.GetAttribute("SCRIPT");
            info.ATTRIB   = node.GetAttribute("ATTRIB");
            info.TITLE    = node.GetAttribute("TITLE");
            info.NOTE     = node.GetAttribute("NOTE");
            info.ACTIVE   = node.GetAttribute("ACTIVE");
            info.TYPE     = int.Parse(node.GetAttribute("TYPE"));
            info.TIME     = float.Parse(node.GetAttribute("TIME"));

            dataList.Add(info.SEQUENCE, info);
        }
    }
Ejemplo n.º 2
0
    public void SetInfo(MagicDataInfo info)
    {
        gameObject.SetActive(true);

        if (menuAnim == null)
        {
            menuAnim = GetComponent <MenuDisplayAnim>();
        }
        menuAnim.SetAnim(MenuDisplayAnim.AnimType.InsertFromLeft);

        targetInfo.text = info.ACTIVE;
        expInfo.text    = info.MP.ToString();

        timeStartup = Time.realtimeSinceStartup;
    }
Ejemplo n.º 3
0
    public void SetMagic(int no, WarSceneController.WhichSide side)
    {
        info = MagicManager.Instance.GetMagicDataInfo(no);

        warCtrl.OnResumeGame();
        WarSceneController.state = WarSceneController.State.Magic;

        this.side = side;
        if (side == WarSceneController.WhichSide.Right)
        {
            enemySide = WarSceneController.WhichSide.Left;
            magicShow.magicInfo.SetInfo(info);

            warCtrl.rightGeneral.SetGeneralWaitForMagic(info.TIME);
            warCtrl.SetCameraMoveTo(new Vector3(
                                        warCtrl.rightGeneral.transform.localPosition.x,
                                        -30,
                                        0));
        }
        else
        {
            enemySide = WarSceneController.WhichSide.Right;
            warCtrl.leftGeneral.SetGeneralWaitForMagic(info.TIME);
            warCtrl.SetCameraMoveTo(new Vector3(
                                        warCtrl.leftGeneral.transform.localPosition.x,
                                        -30,
                                        0));
        }

        if (no == 18 || no == 49)
        {
            magicCount = 3;
        }
        else
        {
            magicCount = 1;
        }

        grayCtrl.SetGray(true);
        warCtrl.WaitforMagicMoveToGeneral();
    }
Ejemplo n.º 4
0
    void CheckLeftGeneralMagicRelease()
    {
        if (side == WarSceneController.WhichSide.Left && IsCanReleaseMagic())
        {
            for (int i = 3; i >= 0; i--)
            {
                if (gInfo.magic[i] != -1)
                {
                    MagicDataInfo info = MagicManager.Instance.GetMagicDataInfo(gInfo.magic[i]);

                    if (gInfo.manaCur >= info.MP)
                    {
                        MagicController.Instance.SetMagic(gInfo.magic[i], side);

                        warCtrl.SetIsSwordFull(side, false);
                        break;
                    }
                }
            }
        }
    }
Ejemplo n.º 5
0
    public bool IsCanReleaseMagic()
    {
        if (side == WarSceneController.WhichSide.Left && WarSceneController.state != WarSceneController.State.Running)
        {
            return(false);
        }

        if (!warCtrl.IsSwordFull(side))
        {
            return(false);
        }

        if (state == State.Escape)
        {
            return(false);
        }

        for (int i = 0; i < 4; i++)
        {
            if (gInfo.magic[i] != -1)
            {
                MagicDataInfo info = MagicManager.Instance.GetMagicDataInfo(gInfo.magic[i]);

                if (gInfo.manaCur >= info.MP)
                {
                    return(true);
                }
            }
            else
            {
                return(false);
            }
        }

        return(false);
    }