Example #1
0
    //砖块生成怪物
    public void GenMonster(int monsterId)
    {
        NPC_Info = Cfg_NPC.GetCfg(monsterId);
        if (NPC_Info.AppearOnStart == 1)
        {
            SetBrickState(BrickState.monster);
        }
        monsterAttr = new MonsterAttr();
        monsterAttr.GameEvent.OnMonsterAttrChanged += SetMonsterAttrShow;
        monsterAttr.GameEvent.OnMonsterDie         += MonsterDie;
        MonsterAttr.TransToAttr(NPC_Info, ref monsterAttr);
        //设置怪物图片和颜色
        string monsterAsset = COMMON.MonsterIconPath + NPC_Info.AssetName;

        COMMON.SetSprite(modelIcon, monsterAsset);
        modelIcon.material = COMMON.spriteMaterials[NPC_Info.Color];
    }
Example #2
0
    /// <summary>
    /// 拾取道具,全部拾取完之后返回true
    /// </summary>
    /// <returns></returns>
    private bool PickUpItem()
    {
        PlayerDataChange.GetItem(equipList[0]);
        string tips = Cfg_Item.GetCfg(equipList[0]).ItemName;

        tips = COMMON.SetStrColor(tips, Cfg_Item.GetCfg(equipList[0]).Color);
        UIBase.Addtips("恭喜您获得" + tips + "!");
        equipObjList[0].SetActive(false);

        equipList.RemoveAt(0);
        equipObjList.RemoveAt(0);
        if (equipObjList.Count == 0)
        {
            return(true);
        }
        equipObjList[0].SetActive(true);
        return(false);
    }
Example #3
0
    private static void GenBrickEquip(List <BrickRoot> bricks, List <int> dropList)
    {
        int brickNum = bricks.Count;

        for (int i = 0; i < bricks.Count; i++)
        {
            if (COMMON.RandomIsSuccess(dropList.Count, brickNum))
            {
                bricks[i].GenEquip(dropList[0]);
                dropList.RemoveAt(0);
                bricks.RemoveAt(i);
            }
            brickNum -= 1;
            if (dropList.Count == 0)
            {
                break;
            }
        }
    }
Example #4
0
    private void GenEquipItem(List <int> equipList)
    {
        equipItem.SetActive(true);
        equipObjList = new List <GameObject>();
        int index = 0;

        foreach (var i in equipList)
        {
            Cfg_Item   cfg_Item  = Cfg_Item.GetCfg(i);
            string     AssetName = COMMON.ItemIconPath + cfg_Item.AssetName;
            GameObject equip     = Instantiate(equipItem, equipItem.transform.parent);
            equipObjList.Add(equip);
            SpriteRenderer itemSprite = equip.GetComponent <SpriteRenderer>();
            COMMON.SetSprite(itemSprite, AssetName);
            itemSprite.material = COMMON.spriteMaterials[cfg_Item.Color];
            equip.SetActive(index == 0);
            index++;
        }
        equipItem.SetActive(false);
    }
Example #5
0
    /// <summary>
    /// 生成怪物
    /// </summary>
    /// <param name="brickRoots">所有砖块列表</param>
    /// <param name="monsters">怪物ID列表</param>
    /// <returns></returns>
    private static List <BrickRoot> GenBrickMonster(List <BrickRoot> brickRoots, List <int> monsters)
    {
        //对砖块进行随机排序
        List <BrickRoot> bricks = COMMON.RandomSortList(brickRoots);
        int brickNum            = brickRoots.Count;

        for (int i = 0; i < bricks.Count; i++)
        {
            if (COMMON.RandomIsSuccess(monsters.Count, brickNum))
            {
                bricks[i].GenMonster(monsters[0]);
                monsters.RemoveAt(0);
                bricks.RemoveAt(i);
            }
            brickNum -= 1;
            if (monsters.Count == 0)
            {
                break;
            }
        }
        return(bricks);
    }
Example #6
0
    /// <summary>
    /// 生成装备
    /// </summary>
    /// <param name="dropId">掉落ID</param>
    public void GenEquip(int dropId)
    {
        Cfg_Drop cfg_Drop    = Cfg_Drop.GetCfg(dropId);
        int      maxDropNum  = cfg_Drop.MaxDrop;
        int      alreadyDrop = 0;
        double   dropNum     = 0;
        double   dropPro;

        equipList = new List <int>();
        for (int i = 0; i < 100; i++)
        {
            if (alreadyDrop >= maxDropNum)
            {
                break;
            }
            dropPro = cfg_Drop.DropPro / 10000;
            dropNum = Math.Floor(dropPro);
            for (int j = 0; j < dropNum; j++)
            {
                equipList.Add(cfg_Drop.DropItem);
                alreadyDrop += 1;
            }
            if (COMMON.RandomIsSuccess(cfg_Drop.DropPro % 10000, 10000))
            {
                equipList.Add(cfg_Drop.DropItem);
                alreadyDrop += 1;
            }
            if (cfg_Drop.NextDrop != 0)
            {
                cfg_Drop = Cfg_Drop.GetCfg(cfg_Drop.NextDrop);
            }
            else
            {
                break;
            }
        }
        //生成道具物体
        GenEquipItem(equipList);
    }
        public bool Connect(string connectArgs = null)
        {
            try
            {
                COMMON.Init();
                NumberOfSpectrometers = OceanOpticsWrapper.openAllSpectrometers();
                Console.WriteLine("연결된 스펙트로미터 : " + NumberOfSpectrometers.ToString());

                if (NumberOfVirtualSpectrometers > 0)
                {
                    VirtualWaveLength = new double[NumberOfVirtualSpectrometers][];
                    VirtualIntensity  = new double[NumberOfVirtualSpectrometers][];
                    Console.WriteLine("생성된 가상 스펙트로미터 : " + NumberOfVirtualSpectrometers.ToString());
                }

                if (NumberOfSpectrometers == 0)
                {
                    IsConnected = false;
                    MessageBox.Show("Spectrometer가 연결이 되지 않았습니다");
                    return(false);
                }
                WaveLength = new double[NumberOfSpectrometers][];
                Intensity  = new double[NumberOfSpectrometers][];

                IsConnected = true;
                return(IsConnected);
            }
            catch (Exception except)
            {
                COMMON.Log.Error("Spectrometer :: Connect " + except.ToString());
                LastErrorMsg = "Connect Error " + except.ToString();
                IsConnected  = false;
                MessageBox.Show(except.ToString());
                return(IsConnected);
            }
        }
Example #8
0
 private void SetChapterList()
 {
     foreach (var item in Cfg_Chapter.GetAllCfg())
     {
         UI_ListItem = UIBase.InitListItem(ChapterListObj);
         UI_ListItem.Texts[0].text = item.Name;
         string Asset = COMMON.ChapterIconPath + item.Asset;
         UIBase.SetImageSpite(UI_ListItem.Images[0], Asset);
         if (!AlreadyPass.Contains(item.NeedMap))
         {
             COMMON.SetImageGray(UI_ListItem.Images[0]);
         }
         UI_ListItem.btns[0].onClick.AddListener(delegate()
         {
             if (!AlreadyPass.Contains(item.NeedMap))
             {
                 UIBase.Addtips("请先通关上一章节!");
                 return;
             }
             OpenMapList(item.StartMap);
             MapList_ChapterName.text = item.Name;
         });
     }
 }