Esempio n. 1
0
 //Initialize Methods of Class
 private void Init()
 {
     prefab_inputArea = Resources.Load("Prefabs/InputArea") as GameObject;
     uiRoot           = GameObject.Find("UI Root").transform;
     inputArea        = Instantiate(prefab_inputArea, uiRoot);
     inputBtn         = inputArea.transform.GetChild(0).gameObject;
     inputArea.SetActive(false);
     currentState = Character.BehaviourState.INIT;
     rb2D         = gameObject.GetComponent <Rigidbody2D>();
     playerInf    = gameObject.GetComponent <PlayerInf>();
 }
Esempio n. 2
0
    // Use this for initialization
    void Start()
    {
        PlayerInf pinf = new PlayerInf();

        pinf.lv        = 10;
        pinf.moneyLeft = 66;
        pinf.itemInBag = new List <int>()
        {
            0, 2, 3, 4, 19
        };
        unitData unit1 = new unitData();

        unit1.Now_Attack       = 20;
        unit1.Now_Attack_Speed = 90;
        unit1.Now_Max_Life     = 199;
        RoleRecord role1 = new RoleRecord(2);

        role1.data = unit1;
        Debug.Log("role1.data: NowAtk:" + unit1.Now_Attack);
        unitData_Profile ud_pf = unit1.getProflie();

        Debug.Log("unitData: baseAttack:" + ud_pf.base_attack + " atkSpeed:" + ud_pf.attack_speed_reinforce + " maxLife:" + ud_pf.max_life_point);
        role1.itemNos = new List <int>()
        {
            1, 1, 2, 3
        };


        unitData unit2 = new unitData();

        unit2.Now_Mag_Reinforce  = 50;
        unit2.Now_Mag_Resistance = 97;
        unit2.Now_Armor          = 35;
        RoleRecord role2 = new RoleRecord(0);

        role2.data     = unit2;
        role2.skillNos = new List <int>()
        {
            1, 2, 26, 10
        };
        role2.location = new vec2i(1, 1);

        pinf.army.Add(role1);
        pinf.army.Add(role2);
        pinf.saveInf();

        PlayerInf newInf = PlayerInf.loadInf();

        newInf.printInf();
    }
Esempio n. 3
0
 protected void initForPlayerInf(PlayerInf inf)
 {
     foreach (RoleRecord role in inf.army)
     {
         Debug.Log("創建頭像 location:" + role.location);
         if (role.location == null)
         {
             createHead(role);
         }
         else
         {
             createHead(1, role);
         }
     }
 }
Esempio n. 4
0
    public void buy()
    {
        PlayerInf player = dataWarehouse.main.nowData;

        if (player.moneyLeft >= itemInf.Price && !soldOut)
        {
            player.itemInBag.Add(no);
            player.moneyLeft -= itemInf.Price;
            Icon.color        = new Color(0.5f, 0.5f, 0.5f);
            buyButtom.gameObject.SetActive(false);
            dataWarehouse.main.updateBagItem(player.itemInBag);
            dataWarehouse.main.onPlayerUpdate();
            onSoldOut(no);
        }
    }
Esempio n. 5
0
 public void createNewArchive()
 {
     Debug.Log("創建新檔案");
     nowData = new PlayerInf();
     nowData.army.Add(new RoleRecord(1));
     nowData.army[0].index = 0;
     nowData.army[0].skillNos.Add(1);
     nowData.army[0].skillNos.Add(5);
     nowData.army[0].itemNos.Add(1);
     nowData.army[0].itemNos.Add(2);
     nowData.army[0].careers = new List <int>()
     {
         5
     };
     nowData.army.Add(new RoleRecord(2));
     nowData.army[1].index = 1;
     nowData.army[1].skillNos.Add(1);
     nowData.army[1].skillNos.Add(8);
     nowData.army[1].skillNos.Add(10);
     nowData.army[1].careers = new List <int>()
     {
         6
     };
     nowData.army.Add(new RoleRecord(0));
     nowData.army[2].index    = 2;
     nowData.army[2].skillNos = new List <int>()
     {
         1, 59
     };
     nowData.army[2].careers = new List <int>()
     {
         5
     };
     nowData.army[2].data.Now_Max_Life     = 800;
     nowData.army[2].data.Now_Life_Recover = 2;
     //加一點測試用的裝備
     //nowData.itemInBag.Add(1);
     //nowData.itemInBag.Add(2);
     //nowData.itemInBag.Add(3);
     for (int n = 0; n < 17; n++)
     {
         nowData.itemInBag.Add(n);
         nowData.itemInBag.Add(n);
         nowData.itemInBag.Add(n);
     }
     //給點初始資金
     nowData.moneyLeft = 100;
 }
Esempio n. 6
0
    // Use this for initialization
    void Start()
    {
        PlayerInf data = new PlayerInf();

        data.army.Add(new RoleRecord(1));
        data.itemInBag.Add(0);
        data.itemInBag.Add(1);
        data.itemInBag.Add(5);
        data.printInf();
        data.saveInf();
        print("save file!");
        PlayerInf dataLoaded = PlayerInf.loadInf();

        print("load file!");
        dataLoaded.printInf();
        Debug.Log(dataLoaded.army.Count);
        Debug.Log(dataLoaded.army[0].race);
        //dataLoaded.
    }
Esempio n. 7
0
    public void buy()
    {
        PlayerInf player = dataWarehouse.main.nowData;
        int       price  = 0;

        foreach (int careerno in roleInf.careers)
        {
            price += careerList.main.objects[careerno].Price;
        }
        if (player.moneyLeft >= price && !soldOut)
        {
            player.army.Add(roleInf);
            player.moneyLeft -= price;
            Icon.color        = new Color(0.5f, 0.5f, 0.5f);
            buyButtom.gameObject.SetActive(false);
            onSoldOut(roleInf);
            dataWarehouse.main.onPlayerUpdate();
            dataWarehouse.main.onArmyUpdate();
        }
    }
Esempio n. 8
0
    // Use this for initialization
    void Start()
    {
        var       serializedData = (byte[])null;
        PlayerInf playerData     = new PlayerInf();

        playerData.lv        = 100;
        playerData.moneyLeft = 2;
        playerData.army      = new List <RoleRecord>()
        {
            new RoleRecord(2)
        };
        playerData.itemInBag = new List <int>()
        {
            1, 2, 5
        };

        var serializer = new XmlSerializer(typeof(PlayerInf));

        using (var ms = new MemoryStream())
        {
            using (var sw = new StreamWriter(ms, Encoding.UTF8))
            {
                serializer.Serialize(sw, playerData);
                serializedData = ms.ToArray();
            }
        }
        PlayerInf newInf;

        // Deserialization
        using (var ms = new MemoryStream(serializedData))
        {
            using (var sr = new StreamReader(ms, Encoding.UTF8))
            {
                newInf = (PlayerInf)serializer.Deserialize(sr);
            }
        }
        newInf.printInf();
    }
Esempio n. 9
0
    void Update()
    {
        Vector3 pos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        pos.z = 0;
        transform.position = pos;
        if (Input.GetMouseButtonUp(0))
        {
            Destroy(gameObject);
            GameObject obj = castItem.main.cast();
            if (obj == null)//放開後沒有點到頭像
            {
                Debug.Log("item幻影 cast");
                if (srcRoleIndex < 0)
                {//是背包裡的物品
                 //不做改變
                }
                else//角色上的物品
                {
                    Debug.Log("srcRoleIndex:" + srcRoleIndex + " srcItemIndex" + srcItemIndex);
                    int       itemNo = dataWarehouse.main.nowData.army[srcRoleIndex].itemNos[srcItemIndex];
                    PlayerInf player = dataWarehouse.main.nowData;
                    player.army[srcRoleIndex].itemNos.RemoveAt(srcItemIndex);
                    player.itemInBag.Add(itemNo);
                    dataWarehouse.main.updateBagItem(player.itemInBag);
                    dataWarehouse.main.updateNowRoleItems(player.army[srcRoleIndex].itemNos);

                    dataWarehouse.main.denyNowRoleAttr(itemList.main.objects[itemNo].Attributes);
                }
            }
            else if (obj.tag == "itemBar")
            {
                if (srcRoleIndex < 0)
                {//是背包裡的物品,將這個背包裡的物品裝備到角色身上
                    equipBar  bar    = obj.GetComponent <equipBar>();
                    PlayerInf player = dataWarehouse.main.nowData;
                    int       itemNo = player.itemInBag[srcItemIndex];
                    player.itemInBag.RemoveAt(srcItemIndex);
                    bar.role.itemNos.Add(itemNo);
                    //player.army[bar.role.index].itemNos.Add(itemNo);
                    dataWarehouse.main.updateBagItem(player.itemInBag);
                    dataWarehouse.main.updateNowRoleItems(bar.role.itemNos);
                    dataWarehouse.main.updateNowRoleAttr(itemList.main.objects[itemNo].Attributes);
                }
                else//角色上的物品
                {
                    //不做改變
                }
            }
            else if (obj.tag == "itemIcon")
            {
                showItemInf inf = obj.GetComponent <showItemInf>();
                if (inf.ownerIndex == srcRoleIndex)//包括背包的-1如果所有者相同則只是自己換自己的沒事會發生
                {
                }
                else if (srcRoleIndex < 0)//如果是從背包裏掏出來的裝備
                {
                    PlayerInf player = dataWarehouse.main.nowData;
                    int       itemNo = player.itemInBag[srcItemIndex];
                    player.itemInBag[srcItemIndex] = inf.itemNo;
                    player.army[inf.ownerIndex].itemNos[inf.itemIndex] = itemNo;
                    dataWarehouse.main.updateBagItem(player.itemInBag);
                    dataWarehouse.main.updateNowRoleItems(player.army[inf.ownerIndex].itemNos);
                    dataWarehouse.main.updateNowRoleAttr(itemList.main.objects[itemNo].Attributes);
                    dataWarehouse.main.denyNowRoleAttr(itemList.main.objects[inf.itemNo].Attributes);
                }
                else  //從角色身上掏出的東西
                {
                    PlayerInf player = dataWarehouse.main.nowData;
                    int       itemNo = player.army[srcRoleIndex].itemNos[srcItemIndex];
                    player.army[srcRoleIndex].itemNos[srcItemIndex] = inf.itemNo;
                    player.itemInBag[inf.itemIndex] = itemNo;
                    dataWarehouse.main.updateBagItem(player.itemInBag);
                    dataWarehouse.main.updateNowRoleItems(player.army[srcRoleIndex].itemNos);
                    dataWarehouse.main.updateNowRoleAttr(itemList.main.objects[inf.itemNo].Attributes);
                    dataWarehouse.main.denyNowRoleAttr(itemList.main.objects[itemNo].Attributes);
                }
            }
        }
    }
Esempio n. 10
0
 public void updatePanel(PlayerInf inf)
 {
     deleteHeads(true);
     initForPlayerInf(inf);
 }
Esempio n. 11
0
 public void loadArchive()
 {
     Debug.Log("加載檔案");
     nowData = PlayerInf.loadInf();
     nowData.printInf();
 }
Esempio n. 12
0
    // Use this for initialization
    void Start()
    {
        chessBoard = new ChessBoard(5, 8);
        PlayerInf playdata = dataWarehouse.main.nowData;

        foreach (RoleRecord unit in playdata.army)
        {
            if (unit.location != null)
            {
                Dictionary <string, object> unitDic = new Dictionary <string, object>()
                {
                    { STR_POS_X, unit.location.x }, { STR_POS_Y, unit.location.y }, { STR_PLAYER_NO, 1 }, { STR_INF, unit }
                };
                unitControler controler = createUnit(unitDic);
            }
        }
        List <RoleRecord> enemys = dataWarehouse.main.currentEnemy;

        foreach (RoleRecord enemy in enemys)
        {
            Dictionary <string, object> enemyDic = new Dictionary <string, object>()
            {
                { STR_POS_X, enemy.location.x }, { STR_POS_Y, enemy.location.y }, { STR_PLAYER_NO, 0 }, { STR_INF, enemy }
            };
            createUnit(enemyDic);
        }
        //完成了所有單位的創建
        List <BasicControler> units = new List <BasicControler>();

        foreach (unitControler unit in chessBoard.Units)
        {
            units.Add((BasicControler)unit);
        }
        foreach (unitControler unit in units)
        {
            ((BasicControler)unit).GetComponent <SkillBelt>().aftAllUnitInit(this);
        }

        /*
         * roleInformation inf = new roleInformation(new unitData(),new List<int>(){1,7},0);
         * Dictionary<string, object> testdata = new Dictionary<string, object>() { { STR_POS_X, 0 }, { STR_POS_Y, 1 }, { STR_PLAYER_NO, 1 }, { STR_INF, inf} };
         * unitControler controler = createUnit(testdata);
         * ((BasicControler)controler).gameObject.name = "單位1";
         *
         * roleInformation inf3 = new roleInformation(new unitData(), new List<int>() { 0}, 2);
         * Dictionary<string, object> testdata3 = new Dictionary<string, object>() { { STR_POS_X, 0 }, { STR_POS_Y, 2 }, { STR_PLAYER_NO, 1 }, { STR_INF, inf3 } };
         * unitControler controler3 = createUnit(testdata3);
         * ((BasicControler)controler3).gameObject.name = "單位3";
         *
         * roleInformation inf4 = new roleInformation(new unitData(), new List<int>() { 0 }, 2);
         * Dictionary<string, object> testdata4 = new Dictionary<string, object>() { { STR_POS_X, 0 }, { STR_POS_Y, 3 }, { STR_PLAYER_NO, 1 }, { STR_INF, inf4 } };
         * unitControler controler4 = createUnit(testdata4);
         * ((BasicControler)controler4).gameObject.name = "單位4";
         *
         * roleInformation inf5 = new roleInformation(new unitData(), new List<int>() { 0,11 }, 2);
         * Dictionary<string, object> testdata5 = new Dictionary<string, object>() { { STR_POS_X, 1 }, { STR_POS_Y, 1 }, { STR_PLAYER_NO, 1 }, { STR_INF, inf5 } };
         * unitControler controler5 = createUnit(testdata5);
         * ((BasicControler)controler5).gameObject.name = "單位5";
         * //組1---------------------------------------------------------------------------------------------------
         * roleInformation inf2 = new roleInformation(new unitData(), new List<int>() { 0, 13,14 }, 1);
         * Dictionary<string, object> testdata2 = new Dictionary<string, object>() { { STR_POS_X, 0 }, { STR_POS_Y, 1 }, { STR_PLAYER_NO, 0 }, { STR_INF, inf2 } };
         * unitControler controler2 = createUnit(testdata2);
         * ((BasicControler)controler2).gameObject.name = "單位2";*/

        /*roleInformation inf6 = new roleInformation(new unitData(), new List<int>() { 0, 5, 6, 10 }, 1);
         * Dictionary<string, object> testdata6 = new Dictionary<string, object>() { { STR_POS_X, 1 }, { STR_POS_Y, 1 }, { STR_PLAYER_NO, 0 }, { STR_INF, inf6 } };
         * unitControler controler6 = createUnit(testdata6);
         * ((BasicControler)controler6).gameObject.name = "單位6";*/
    }