Exemple #1
0
    public void EquipItem(Equipment item, Transform transform)
    {
        if (item.itemData.ownerEntity == null)
        {
            item.itemData.ownerEntity = ownerEntity;
        }

        if (item.itemData.ownerEntity == ownerEntity && !item.itemData.isStored && item != null)
        {
            EquipmentData data = item.itemData as EquipmentData;
            if (data != null)
            {
                if (ownerEntity.equipments[data.equipmentType] != null)
                {
                    UnequipItem(ownerEntity.equipments[data.equipmentType]);
                }

                if (data.equipmentType == EquipmentType.Weapon)
                {
                    ownerEntity.equipments[EquipmentType.Weapon] = item;
                    HoldItem(item, transform);
                }

                item.OnEquipped();
            }
        }
    }
Exemple #2
0
        void ShowMainEffectLabel(EquipmentData normalItem, EquipmentData targetItem)
        {
            bool isFullLevel = targetItem == null;

            Effect01UpArrow.gameObject.SetActive(!isFullLevel);
            Effect02UpArrow.gameObject.SetActive(!isFullLevel);
            FullLevelLabel.gameObject.SetActive(isFullLevel);
            CanUpgradeObj.SetActive(!isFullLevel);
            EffectData targetEffect1data   = null;
            EffectData targetEffect2data   = null;
            EffectData normalEffect1data   = null;
            EffectData normalEffect2data   = null;
            int        targetEffect1AddNum = 0;
            int        targetEffect2AddNum = 0;
            int        normalEffect1AddNum = 0;
            int        normalEffect2AddNum = 0;

            GetEffectData(normalItem, out normalEffect1data, out normalEffect2data, out normalEffect1AddNum, out normalEffect2AddNum, true);
            if (targetItem != null)
            {
                GetEffectData(normalItem, out targetEffect1data, out targetEffect2data, out targetEffect1AddNum, out targetEffect2AddNum, false);
            }
            Effect01Icon.spriteName = normalEffect1data.EffectRes;
            Effect02Icon.spriteName = normalEffect2data.EffectRes;
            Effect01NameLabel.SetText(LanguageTextManager.GetString(normalEffect1data.IDS));
            Effect02NameLabel.SetText(LanguageTextManager.GetString(normalEffect2data.IDS));
            Effect01NumLabel.SetText(normalEffect1AddNum);
            Effect02NumLabel.SetText(normalEffect2AddNum);
            Effect01AddLabel.SetText(targetEffect1data == null?0: targetEffect1AddNum - normalEffect1AddNum);
            Effect02AddLabel.SetText(targetEffect2data == null?0:targetEffect2AddNum - normalEffect2AddNum);
        }
Exemple #3
0
 /// <summary>
 /// 是否是装备表
 /// </summary>
 /// <param 表名="tbName"></param>
 /// <param 数据阅读器="reader"></param>
 private void IsEquipment(SqliteDataReader reader)
 {
     while (reader.Read())
     {
         //获取读到内容中的字段,来保存对应的值
         int    equipment_Id   = reader.GetInt32(reader.GetOrdinal("ID"));
         string equipmentNmae  = reader.GetString(reader.GetOrdinal("equipment_Name"));
         string equipmentType  = reader.GetString(reader.GetOrdinal("equipment_Type"));
         string equipmentClass = reader.GetString(reader.GetOrdinal("equipment_Class"));
         int    equipment_HP   = reader.GetInt32(reader.GetOrdinal("equipment_HP"));
         int    equipment_AD   = reader.GetInt32(reader.GetOrdinal("equipment_AD"));
         int    equipment_AP   = reader.GetInt32(reader.GetOrdinal("equipment_AP"));
         int    equipment_DEF  = reader.GetInt32(reader.GetOrdinal("equipment_DEF"));
         int    equipment_RES  = reader.GetInt32(reader.GetOrdinal("equipment_RES"));
         int    equipmentPrice = reader.GetInt32(reader.GetOrdinal("equipment_Price"));
         //创建模型
         EquipmentData equipmentData = new EquipmentData
         {
             equipment_Id   = equipment_Id,
             equipmentNmae  = equipmentNmae,
             equipmentType  = equipmentType,
             equipmentClass = equipmentClass,
             equipment_HP   = equipment_HP,
             equipment_AD   = equipment_AD,
             equipment_AP   = equipment_AP,
             equipment_DEF  = equipment_DEF,
             equipment_RES  = equipment_RES,
             equipmentPrice = equipmentPrice,
         };
         //加入到数据库
         SQLiteManager.Instance.equipmentDataSource.Add(equipmentData.equipment_Id, equipmentData);
     }
 }
    private void EquipmentTransaction(EquipmentData equipment)
    {
        currencyState.Coins -= equipment.upgradeCost;
        currencyState.AddTapMultiplier(equipment.tapMultiplier);

        currencyState.SynchronizeRealCurrencyAndScreenCurrency();
    }
        public UniqueCraftingViewModel(EquipmentData equipmentData)
            : base(equipmentData, equipmentData.UniqueBases)
        {
            MsExplicits.PropertyChanged += MsOnPropertyChanged;

            Init();
        }
Exemple #6
0
    //添加一个装备到游戏世界
    public bool AddEquimentToTheWorld(EquipmentData data)
    {
        List <EquipmentData> eList = GetAllEquipmentInTheWorld();

        //如果这个装备已经在这个世界上
        if (IsEquipmentInTheWorld(data))
        {
            return(false);
        }

        //原本世界上没有装备,新装备ID设为0
        if (eList.Count == 0)
        {
            data.Id = 0;
        }
        else
        {
            //Id相比最后一个装备的ID + 1
            EquipmentData lastEqui = eList[eList.Count - 1];
            Debug.Log("lastEqui ID:" + lastEqui.Id);
            data.Id = lastEqui.Id + 1;
            Debug.Log("lastEqui ID:" + data.Id);
        }
        eList.Add(data);

        return(true);
    }
 public override void Init(GameObject _go, EquipmentData _data)
 {
     base.Init(_go, _data);
     particles              = GetComponentsInChildren <ParticleSystem> ();
     player.verticalFactor += heightIncrease;
     jetSound = GetComponent <AudioSource> ();
 }
        public bool Lunch()
        {
            try
            {
                if (!EquipmentBus.ControllerRegister.CheckRely(RelyEquipment))
                {
                    throw new Exception($"依赖设备尚未启动{string.Join("、", RelyEquipment)}");
                }

                UARTDriver           = DriversFactory.GetUARTDriver(ComName);
                UARTDriver.RecEvent += UARTDriver_RecEvent;

                SBus            = DriversFactory.GetSBusDriver(3);
                SBus.SetSignal += SBus_SetSignal;

                EquipmentData.IsEnable = true;
                EquipmentBus.ControllerRegister.Register(Enum.RegisterType.RemoteController, true);
            }
            catch (Exception ex)
            {
                EquipmentData.AddError(Enum.LogType.Error, "启动遥控器失败!", ex);
                Logger.Add(Enum.LogType.Error, "启动遥控器失败!", ex);
                EquipmentData.IsEnable = false;
                return(false);
            }
            return(true);
        }
Exemple #9
0
        public new void Init(ItemFielInfo itemFileInfo)
        {
            base.Init(itemFileInfo);
            if (itemFileInfo == null)
            {
                LevelLabel.SetText("");
                AddLevelLabel.SetText("");
                UpgradIcon.gameObject.SetActive(false);
                return;
            }
            EquipmentData itemData = itemFileInfo.LocalItemData as EquipmentData;

            LevelLabel.SetText(itemData._AllowLevel);
            if (itemData.UpgradeID != 0)
            {
                int targetLevel = ItemDataManager.Instance.GetItemData(itemData.UpgradeID)._AllowLevel;
                UpgradIcon.SetActive(true);
                AddLevelLabel.SetText(targetLevel - itemData._AllowLevel);
            }
            else
            {
                UpgradIcon.SetActive(false);
                AddLevelLabel.SetText("");
            }
        }
Exemple #10
0
 void Start()
 {
     background = transform.GetChild (0);
     sprite = transform.GetChild (1).GetComponent<UnityEngine.UI.Image> ();
     inventory_ui = transform.parent.parent.parent.GetComponent<InventoryScript> ();
     data = null;
 }
Exemple #11
0
        public object EditEquipment(EditEquipmentViewModel editEquipmentViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new BaseResponse(ResponseStatus.ValidationError.ToString(), ModelState.Values.ToList()[0].Errors[0].ErrorMessage)));
            }

            CurrentUserInfo currentUserInfo = _tokenHelper.GetUserInfo();

            if (!_equipmentLogic.IsEquipmentExist(editEquipmentViewModel.ProjectId, editEquipmentViewModel.EquipmentId))
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, new BaseResponse(ResponseStatus.Notfound.ToString(), ResponseMessagesModel.DailyActiviyNotFound)));
            }

            if (_projectLogic.GetUserRoleInProject(currentUserInfo.Id, editEquipmentViewModel.ProjectId) == UserRole.Collaborator &&
                !_equipmentLogic.IsEquipmentCreatedBy(currentUserInfo.Id, editEquipmentViewModel.EquipmentId))
            {
                return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, new BaseResponse(ResponseStatus.ValidationError.ToString(), ResponseMessagesModel.PermissionDenied)));
            }

            EquipmentData equipmentData =
                EditEquipmentViewModel.GetEquipmentData(editEquipmentViewModel);

            _equipmentLogic.Edit(equipmentData);

            return(Request.CreateResponse(HttpStatusCode.OK, new BaseResponse(ResponseStatus.Success.ToString(),
                                                                              ResponseMessagesModel.Success)));
        }
Exemple #12
0
    /// <summary>
    /// 卖出指定的ID的物品, 规定只能从背包卖
    /// 第二个参数是:当完成或者未完成时,回调调用自己的View中的方法。
    /// </summary>
    /// <param name="id"></param>
    public void SellItem(int id, CallBack callback)
    {
        //通过ID从背包中找到物品
        EquipmentData data = BagData.Instance.GetItem(id);

        //如果data是null, 背包中没有这个物品,id有问题
        if (data == null)
        {
            //通知调用这个方法的View 你的ID是有问题的吧。
            //Debug.LogError("通知调用这个方法的View 你的ID是有问题的吧。");
            if (callback != null)
            {
                callback(false, "ID有问题!");
            }
        }
        else
        {
            //删除物品
            BagData.Instance.RemoveItem(data);
            ////加钱
            BagData.Instance.AddMoney(data.PriceSell);
            if (callback != null)
            {
                callback(true, "卖出成功");
            }
        }
    }
    public EquipmentData GetData()
    {
        switch (type)
        {
        case EquipmentVariant.PISTOL:
            myData = SaveData.Current.inventory.pistol;
            break;

        case EquipmentVariant.DAGGER:
            myData = SaveData.Current.inventory.dagger;
            break;

        case EquipmentVariant.MAGNETIZE:
            myData = SaveData.Current.inventory.magnetize;
            break;

        case EquipmentVariant.GRAPPLE:
            myData = SaveData.Current.inventory.gravityGrapple;
            break;

        case EquipmentVariant.ATTRACTOR:
            myData = SaveData.Current.inventory.gravityAttractor;
            break;
        }

        return(myData);
    }
        public override void OnResponseReceived(dynamic data)
        {
            KCDatabase db = KCDatabase.Instance;

            db.Material.LoadFromResponse(APIName, data.api_after_material);

            if (data.api_after_slot())                  //改修成功時のみ存在
            {
                EquipmentData eq = db.Equipments[(int)data.api_after_slot.api_id];
                if (eq != null)
                {
                    eq.LoadFromResponse(APIName, data.api_after_slot);
                }
            }

            if (data.api_use_slot_id())
            {
                foreach (int id in data.api_use_slot_id)
                {
                    db.Equipments.Remove(id);
                }
            }

            base.OnResponseReceived((object)data);
        }
Exemple #15
0
        public static void Create()
        {
            SafeCall(() => AccessorySetData.Get());
            SafeCall(() => EquipmentSetData.Get());
            SafeCall(() => CharacterData.Get());
            // SafeCall(() => GetAkashas());

            var share = new ShareEffect();

            SafeCall(() => BroochesData.Create(share));
            SafeCall(() => TitleData.Create(share));

            foreach (var field in Enum.GetValues <EquipmentField>())
            {
                SafeCall(() => EquipmentData.Get(field));
            }

            foreach (var field in Enum.GetValues <AccessoryField>())
            {
                SafeCall(() => AccessoryData.Get(field));
            }

            foreach (var field in Enum.GetValues <PluginField>())
            {
                SafeCall(() => PluginData.Get(field));
            }

            foreach (var field in Enum.GetValues <TagField>())
            {
                SafeCall(() => TagData.Get(field));
            }
        }
Exemple #16
0
    /// <summary>
    /// 异步获取装备预制体,穿上装备
    /// </summary>
    /// <returns>The equipment.</returns>
    /// <param name="data">装备数据</param>
    /// <param name="dressTransform">穿到哪个位置</param>
    IEnumerator DressEquipment(EquipmentData data, Transform dressTransform)
    {
        ResourceRequest request = Resources.LoadAsync <GameObject>("Prefabs/" + data.PrefabName);

        yield return(request);

        if (request.asset == null)
        {
            Debug.Log("找不到这个装备的预制体");
            yield break;
        }
        if (!(request.asset is GameObject))
        {
            Debug.Log("这个装备的预制体有错误");
            yield break;
        }
        GameObject prefab = request.asset as GameObject;
        GameObject go     = Instantiate <GameObject>(prefab, dressTransform);

        //修改装备的layer,使人物专用摄像机能拍到装备
        go.layer = equipmentLayer;
        //设置标签,便于删除装备
        go.tag = equipmentTag;
        Debug.Log("装备游戏物体名字:" + go.name);
    }
Exemple #17
0
    protected override void Click(PointerEventData eventData)
    {
        //如果格子里面有装备,记录玩家将要买的装备ID,如果没有,记录ID为-1
        EquipmentData data = ShopData.Instance.GetItem(itemID);

        ShopData.Instance.WillBuyID = data == null ? -1 : itemID;
    }
Exemple #18
0
    public static void LoadInGameEquipment()
    {
        EquipmentData data     = LoadEquipment();
        int           numSlots = Enum.GetNames(typeof(EquipmentSlot)).Length;

        EquipmentManager.instance.currentEquipment = new Equipment[numSlots];
    }
Exemple #19
0
        //9.18 以0X格式补齐日期和时间
        //public static List<EquipmentData> GetListByTime(long equipmentID,string dt1,string dt2)
        public static List <EquipmentData> GetListByTime(long equipmentID, DateTime dt1, DateTime dt2)

        {
            //dt2 = dt2.AddDays(1);
            string  sql = string.Format("select a.EquipmentID,a.Chroma,a.Temperature,a.Humidity,a.AddTime,b.UnitType from tb_EquipmentData a left join tb_Equipment b on a.EquipmentID=b.ID where EquipmentID={0} and AddTime >='{1}' and AddTime <='{2}'", equipmentID, dt1.ToString("yyyy-MM-dd HH:mm:ss"), dt2.ToString("yyyy-MM-dd HH:mm:ss"));
            DataSet ds  = new DataSet();

            ds = SqliteHelper.Query(sql);
            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                List <EquipmentData> list = new List <EquipmentData>();
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    EquipmentData eq = new EquipmentData();
                    eq.EquipmentID = Convert.ToInt32(row["EquipmentID"]);

                    if (Convert.ToSingle(row["Chroma"]) < 10000)
                    {
                        eq.Chroma = Convert.ToSingle(row["Chroma"]);
                    }
                    //eq.Temperature = Convert.ToSingle(row["Temperature"]);
                    //eq.Humidity = Convert.ToSingle(row["Humidity"]);

                    eq.AddTime  = Convert.ToDateTime(row["AddTime"]);
                    eq.UnitType = Convert.ToByte(row["UnitType"]);
                    list.Add(eq);
                }
                return(list);
            }
            LogLib.Log.GetLogger("EquipmentDataDal").Warn("获取浓度数据失败");
            return(null);
        }
Exemple #20
0
        public static List <EquipmentData> GetListByTime(long equipmentID, DateTime dt1, DateTime dt2)
        {
            //dt2 = dt2.AddDays(1);
            string sql = string.Format("select a.Chroma,a.Temperature,a.Humidity,a.AddTime from tb_EquipmentData{0} a where AddTime >= @dt1 and AddTime <= @dt2", equipmentID);

            List <EquipmentData> list = new List <EquipmentData>();

            using (SQLiteConnection conn = new SQLiteConnection(SqliteHelper.ConnectionString))
            {
                conn.Open();
                SQLiteCommand cmd = new SQLiteCommand(sql, conn);
                cmd.Parameters.AddWithValue("@dt1", dt1);
                cmd.Parameters.AddWithValue("@dt2", dt2);

                SQLiteDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    EquipmentData eq = new EquipmentData();
                    eq.Chroma  = reader.GetFloat(0);
                    eq.AddTime = reader.GetDateTime(3);
                    list.Add(eq);
                }
            }

            return(list);
        }
Exemple #21
0
        public static List <EquipmentData> GetListByTime2(string equipmentID, DateTime dt1, DateTime dt2)
        {
            //dt2 = dt2.AddDays(1);
            string sql = string.Format("select a.EquipmentID,a.Chroma,a.Temperature,a.Humidity,a.AddTime,b.UnitType from tb_EquipmentData a left join tb_Equipment b on a.EquipmentID=b.ID where EquipmentID in ({0}) and AddTime >='{1}' and AddTime <='{2}'", equipmentID, dt1.ToString("yyyy-MM-dd HH:mm:ss"), dt2.ToString("yyyy-MM-dd HH:mm:ss"));
            List <EquipmentData> list  = new List <EquipmentData>();
            Stopwatch            watch = new Stopwatch();

            watch.Start();
            using (SQLiteDataReader reader = SqliteHelper.ExecuteReader(sql))
            {
                Trace.WriteLine("ExecuteReader: " + watch.Elapsed);
                watch.Restart();
                while (reader.Read())
                {
                    EquipmentData eq = new EquipmentData();
                    eq.EquipmentID = reader.GetInt32(0);
                    eq.Chroma      = reader.GetFloat(1);
                    eq.Chroma      = eq.Chroma < 10000 ? eq.Chroma : 0;
                    eq.AddTimeStr  = reader[4].ToString();
                    eq.UnitType    = reader.GetByte(5);
                    list.Add(eq);
                }
                Trace.WriteLine("read: " + watch.Elapsed);
            }
            watch.Stop();
            return(list);
        }
Exemple #22
0
    /// <summary>
    /// 卸下指定的id的装备,数据一定在playerData里
    /// </summary>
    public void DemountItem(int id, CallBack callback)
    {
        //判断playerData里是否有这个id的装备
        EquipmentData data = PlayerData.Instance.GetItem(id);

        if (data == null)//空的时候,身上没有这个id的物品
        {
            if (callback != null)
            {
                callback(false, "人物身上没有该ID的物品");
            }
        }
        else
        {
            //先把该装备从人物身上删除
            PlayerData.Instance.RemoveItem(data);
            //再把该装备添加到背包数据里去
            BagData.Instance.AddItem(data);
            //通知界面成功
            if (callback != null)
            {
                callback(true, "成功卸载装备");
            }
        }
    }
Exemple #23
0
    //根据商店里的装备生成一个新的装备
    public EquipmentData GenerateEquipment(int id)
    {
        EquipmentData data = GetItem(id);

        data = data.Copy();
        return(data);
    }
Exemple #24
0
    /// <summary>
    /// Determines whether this instance is own the specified data.
    /// </summary>
    /// <returns><c>true</c> if this instance is own the specified data; otherwise, <c>false</c>.</returns>
    /// <param name="data">Data.</param>
    public bool IsOwn(ForgeRecipeData data)
    {
        bool     isOwn    = false;
        ItemData Itemdata = ItemDataManager.Instance.GetItemData(data.ForgeEquipmentID);

        if (Itemdata._GoodsClass == 1)
        {
            EquipmentData       qu   = Itemdata as EquipmentData;
            List <ItemFielInfo> list = ContainerInfomanager.Instance.itemFielArrayInfo.Where(p => p.LocalItemData._GoodsSubClass == qu._GoodsSubClass).ToList();
            foreach (var item in list)
            {
                if (item.equipmentEntity.EQUIP_FIELD_QAULITY >= qu._ColorLevel)
                {
                    isOwn = true;
                }
                else if (item.equipmentEntity.EQUIP_FIELD_QAULITY == qu._ColorLevel && item.LocalItemData._AllowLevel >= qu._AllowLevel)
                {
                    isOwn = true;
                }
            }
        }
        else
        {
            isOwn = false;
        }
        return(isOwn);
    }
Exemple #25
0
    public void Create()
    {
        ConfigMonster player = ConfigManager.Instance.ReqMonster(GameConfig.PLAYER_CONFIG_ID);

        if (player != null)
        {
            _healthy = GameConfig.PLAYER_BASE_HEALTHY;
            _energy  = GameConfig.PLAYER_BASE_ENERGY;
            _hungry  = GameConfig.PLAYER_BASE_HUNGRY;

            _hp         = player._hp;
            _baseHp     = player._hp;
            _def        = player._def;
            _atk        = player._atk;
            _power      = player._power;
            _agile      = player._agile;
            _physic     = player._physic;
            _charm      = player._charm;
            _perception = player._perception;

            _buffID       = 0;
            _buffDuration = 0;

            _status = PlayerBattleStatus.Balance;

            _gold  = 0;
            _items = new List <ItemData>();
            EquipmentData equip = new EquipmentData(1);
            _equipmentList = new List <EquipmentData>();
        }
        else
        {
            MyLog.LogError("Player config data is null.");
        }
    }
Exemple #26
0
 public void Add(EquipmentData data_added)
 {
     data = data_added;
     background.gameObject.SetActive (true);
     sprite.gameObject.SetActive (true);
     sprite.sprite = data.sprite;
 }
Exemple #27
0
    public EquipmentData Copy()
    {
        string        json = JsonUtility.ToJson(this);
        EquipmentData e    = JsonUtility.FromJson <EquipmentData>(json);

        return(e);
    }
Exemple #28
0
        private bool IsCanFastSelect(ItemData goodsLocalData, List <EquipmentData> equipedDataList)
        {
            if (goodsLocalData._TradeFlag == 1 && goodsLocalData.CanBeFastSelect)
            {
                ItemData.ItemType itemType = ItemData.GetItemType(goodsLocalData);
                if (itemType != ItemData.ItemType.Equipment)
                {
                    return(true);
                }
                else
                {
                    EquipmentData equipGoodsData = (EquipmentData)goodsLocalData;

                    // 武器和玩家的职业比对,如果不可用,则直接可以快速出售
                    int      Profession = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PlayerCommonValue.PLAYER_FIELD_VISIBLE_VOCATION;
                    string[] allowPro   = equipGoodsData._AllowProfession.Split('+');
                    if (!allowPro.Contains(Profession.ToString()))
                    {
                        return(true);
                    }

                    EquipmentData equiptedData = equipedDataList.FirstOrDefault(P => P._vectEquipLoc == equipGoodsData._vectEquipLoc);
                    if (equiptedData != null)
                    {
                        if (equipGoodsData._ColorLevel < equiptedData._ColorLevel ||
                            (equipGoodsData._ColorLevel == equiptedData._ColorLevel && equipGoodsData._AllowLevel < equiptedData._AllowLevel))
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
 //表示装備パラメータ設定
 void paramSet(EquipmentData eData, bool change = false)
 {
     if (!change)
     {
         charaName.text    = pData.Name;
         weaponName.text   = pData.EquipWeapon.Name;
         armorName.text    = pData.EquipArmor.Name;
         atk.text          = "攻:" + (pData.EquipWeapon.Atk + pData.Atk).ToString();
         def.text          = "防:" + (pData.EquipWeapon.Def + pData.Def).ToString();
         mAtk.text         = "魔攻:" + (pData.EquipWeapon.MgAtk + pData.MgAtk).ToString();
         mDef.text         = "魔防:" + (pData.EquipWeapon.MgDef + pData.MgDef).ToString();
         luck.text         = "運:" + (pData.EquipWeapon.Luck + pData.Luck).ToString();
         speed.text        = "早:" + (pData.EquipWeapon.Spd + pData.Spd).ToString();
         detail.text       = pData.EquipWeapon.Detail;
         equipImage.sprite = gameObject.GetComponent <multipleSliceImageLoadController>().ReadMutipleImageFile(pData.EquipWeapon.fileName, pData.EquipWeapon.spriteName);
     }
     else
     {
         charaName.text    = pData.Name;
         weaponName.text   = pData.EquipWeapon.Name + "\r\n" + "↓" + "\r\n" + eData.Name;
         armorName.text    = pData.EquipArmor.Name;
         atk.text          = "攻:" + (pData.EquipWeapon.Atk + pData.Atk).ToString() + "→" + (pData.Atk + eData.Atk).ToString();
         def.text          = "防:" + (pData.EquipWeapon.Def + pData.Def).ToString() + "→" + (pData.Def + eData.Def).ToString();;
         mAtk.text         = "魔攻:" + (pData.EquipWeapon.MgAtk + pData.MgAtk).ToString() + "→" + (pData.MgAtk + eData.MgAtk).ToString();
         mDef.text         = "魔防:" + (pData.EquipWeapon.MgDef + pData.MgDef).ToString() + "→" + (pData.MgDef + eData.MgDef).ToString();
         luck.text         = "運:" + (pData.EquipWeapon.Luck + pData.Luck).ToString() + "→" + (pData.Luck + eData.Luck).ToString();
         speed.text        = "早:" + (pData.EquipWeapon.Spd + pData.Spd).ToString() + "→" + (pData.Spd + eData.Spd).ToString();
         detail.text       = eData.Detail;
         equipImage.sprite = gameObject.GetComponent <multipleSliceImageLoadController>().ReadMutipleImageFile(eData.fileName, eData.spriteName);
     }
 }
Exemple #30
0
        public override void OnResponseReceived(dynamic data)
        {
            KCDatabase db = KCDatabase.Instance;

            //api_ship_data
            foreach (var elem in data.api_ship_data)
            {
                int id = (int)elem.api_id;

                ShipData ship = db.Ships[id];
                ship.LoadFromResponse(APIName, elem);

                for (int i = 0; i < ship.Slot.Count; i++)
                {
                    if (ship.Slot[i] == -1)
                    {
                        continue;
                    }
                    if (!db.Equipments.ContainsKey(ship.Slot[i]))
                    {                           //改装時に新装備を入手するが、追加される前にIDを与えられてしまうため
                        EquipmentData eq = new EquipmentData();
                        eq.LoadFromResponse(APIName, ship.Slot[i]);
                        db.Equipments.Add(eq);
                    }
                }
            }

            //api_deck_data
            db.Fleet.LoadFromResponse(APIName, data.api_deck_data);



            base.OnResponseReceived((object)data);
        }
Exemple #31
0
        public bool Lunch()
        {
            try
            {
                //检查依赖
                if (!EquipmentBus.ControllerRegister.CheckRely(RelyEquipment))
                {
                    throw new Exception($"依赖设备尚未启动{string.Join("、", RelyEquipment)}");
                }

                I2CDevice = I2CDriver.I2CBus.AddDevice(Addr);
                I2CDevice.WriteAddressByte(MODE1, 0x00);
                SetPWMFreq(Freq);
                EquipmentData.IsEnable = true;
                EquipmentBus.ControllerRegister.Register(RegisterType.Pca9685, false);
            }
            catch (Exception ex)
            {
                EquipmentData.AddError(LogType.Error, $"启动地址为{Addr},频率为{Freq}的PCA9685失败!", ex);
                Logger.Add(LogType.Error, $"启动地址为{Addr},频率为{Freq}的PCA9685失败!", ex);
                EquipmentData.IsEnable = false;
                return(false);
            }
            return(true);
        }
 /// <summary>
 /// 初始化裝備屬性
 /// </summary>
 protected virtual void InitEquipment(EquipmentData _equipment)
 {
     Level           = _equipment.Level;
     Name            = _equipment.Name;
     Weight          = _equipment.Weight;
     Constitution    = _equipment.Constitution;
     Mind            = _equipment.Mind;
     Strength        = _equipment.Strength;
     Faith           = _equipment.Faith;
     Alert           = _equipment.Alert;
     Will            = _equipment.Will;
     Skill           = _equipment.Skill;
     Agile           = _equipment.Agile;
     Power           = _equipment.Power;
     PAttack         = _equipment.PAttack;
     MAttack         = _equipment.MAttack;
     PLethalityRate  = _equipment.PLethalityRate;
     MLethalityRate  = _equipment.MLethalityRate;
     PDefense        = _equipment.PDefense;
     MDefense        = _equipment.MDefense;
     PResistanceRate = _equipment.PResistanceRate;
     MResistanceRate = _equipment.MResistanceRate;
     Accuracy        = _equipment.Accuracy;
     Dodge           = _equipment.Dodge;
     Tenacity        = _equipment.Tenacity;
 }
Exemple #33
0
    public void ChangeHeroWeapon(object obj)
    {
        if (!gameObject.activeSelf)
        {
            return;
        }
        var WeaponInfo = m_data.dwGoods [0];

        //TraceUtil.Log("当前默认武器ID:"+WeaponInfo.uidGoods);
        if (WeaponInfo.dwGoodsID != 0)
        {
            if (WeaponInfo.dwGoodsID != CurrentWeaponID)
            {
                CurrentWeaponID = WeaponInfo.dwGoodsID;
                EquipmentData weapdata  = ItemDataManager.Instance.GetItemData((int)WeaponInfo.dwGoodsID) as EquipmentData;
                string        weapon    = weapdata._ModelId;
                var           weaponEff = weapdata.WeaponEff;
                StartCoroutine(ChangeWeapon(weapon, weaponEff));
            }
        }
//         else if (WeaponInfo.dwGoodsID != CurrentWeaponID)
//        {
////            if (CurrentWeaponID != 0)
////            {
////                CurrentWeaponID = 0;
////                StartCoroutine(ChangeDefulsWeapon());
////            }
//        }
    }
 public void Add(EquipmentData equipment)
 {
     this.Equipments.Add(equipment);
     this.setEquipmentDataReceivers.ForEach((r) =>
     {
         ExecuteEvents.Execute<IReceiveAddEquipment>(r, null, (handler, eventData) => handler.OnAddEquipment(this.Equipments.Count - 1, equipment));
     });
 }
 private void BuyKeyboardEquipment(EquipmentData data)
 {
     GameState.instance.Equipment.KeyboardEquipmentId = data.id;
     if (EquipmentTransaction != null)
     {
         EquipmentTransaction(data);
     }
 }
        public void OnChangeEquipmentData(int id, EquipmentData data)
        {
            if(this.id != id)
            {
                return;
            }

            this.Broadcast(data);
        }
        private EquipmentData GetCopy(EquipmentData data)
        {
            if(data == null)
            {
                return null;
            }

            return data.Copy;
        }
Exemple #38
0
        protected Equipment(EquipmentData data)
            : this()
        {
            Name = data.Name;
            Desc = data.Desc;

            DoAttach = data.DoAttach;
            DoDetach = data.DoDetach;
        }
 public void ChangeEquipment(EquipmentData equipment)
 {
     this.Equipments[this.selectId] = equipment;
     this.setEquipmentDataReceivers.ForEach((r) =>
     {
         ExecuteEvents.Execute<IReceiveChangeEquipmentData>(r, null, (handler, eventData) => handler.OnChangeEquipmentData(this.selectId, equipment));
         ExecuteEvents.Execute<IReceiveSetEquipmentData>(r, null, (handler, eventData) => handler.OnSetEquipmentData(this.Equipments[this.selectId]));
     });
 }
Exemple #40
0
 public static EquipmentData operator -(EquipmentData equ1, EquipmentData equ2)
 {
     EquipmentData equipment = new EquipmentData();
     equipment.Type = equ1.Type;
     equipment.Name = "Différence :\n" + equ1.Name + "\n" + equ2.Name;
     equipment.Attributes = equ1.Attributes - equ2.Attributes;
     equipment.Armor = equ1.Armor - equ2.Armor;
     equipment.MagicArmor = equ1.MagicArmor - equ2.MagicArmor;
     return equipment;
 }
Exemple #41
0
 public static EquipmentData operator +(EquipmentData equ1, EquipmentData equ2)
 {
     EquipmentData equipment = new EquipmentData();
     equipment.Type = EquipmentType.Set;
     equipment.Name = "Combinaison :\n" + equ1.Name + "\n" + equ2.Name;
     equipment.Attributes = equ1.Attributes + equ2.Attributes;
     equipment.Armor = equ1.Armor + equ2.Armor;
     equipment.MagicArmor = equ1.MagicArmor + equ2.MagicArmor;
     return equipment;
 }
        public void OnChangeEquipmentData(int id, EquipmentData data)
        {
            if(this.executing)
            {
                return;
            }

            this.executing = true;
            ExecuteEventsExtensions.Broadcast<IReceiveChangeEquipmentData>(this.transform, null, (handler, eventData) => handler.OnChangeEquipmentData(id, data));
            this.executing = false;
        }
Exemple #43
0
 public void Remove(EquipmentData equipment)
 {
     if (Equipments[equipment] > 1)
     {
         Equipments[equipment] -= 1;
     }
     else
     {
         Equipments.Remove(equipment);
     }
 }
Exemple #44
0
 public void AddEquipment(EquipmentData equipment)
 {
     if (Equipments.ContainsKey(equipment))
     {
         Equipments[equipment] += 1;
     }
     else
     {
         Equipments.Add(equipment, 1);
     }
 }
 public EquipmentData GetEquipment( EquipmentData.Type type, string name )
 {
     foreach( EquipmentData equipmentData in equipment )
     {
         if( equipmentData.type == type && equipmentData.name == name )
         {
             return equipmentData;
         }
     }
     return new EquipmentData( type, "Naked", 0, 0 );
 }
Exemple #46
0
    public void Unequip()
    {
        weapon_holder.GetChild (0).gameObject.SetActive (false);
        weapon_holder.GetChild (1).gameObject.SetActive (false);
        weapon_holder.GetChild (2).gameObject.SetActive (false);
        weapon_holder.GetChild (3).gameObject.SetActive (false);

        attack_speed = 1.0f;

        equipped = null;
    }
 public void Equip( EquipmentData.Type type, string name )
 {
     for (int i = 0; i < equipment.Count; i++) {
         if( equipment[i].type == type )
         {
             equipment[i] = GameManager.equipmentList.GetEquipment( type, name );
             return;
         }
     }
     equipment.Add( GameManager.equipmentList.GetEquipment( type, name ) );
 }
        public void OnSetEquipmentData(EquipmentData data)
        {
            if(this.executing)
            {
                return;
            }

            this.executing = true;
            ExecuteEventsExtensions.Broadcast<IReceiveSetEquipmentData>(this.receiver, null, (handler, eventData) => handler.OnSetEquipmentData(data));
            this.executing = false;
        }
Exemple #49
0
    public void Equip(EquipmentData weapon)
    {
        equipped = weapon;
        weapon_holder.GetChild (0).gameObject.SetActive (false);
        weapon_holder.GetChild (1).gameObject.SetActive (false);
        weapon_holder.GetChild (2).gameObject.SetActive (false);
        weapon_holder.GetChild (3).gameObject.SetActive (false);

        weapon_holder.GetChild (equipped.id).gameObject.SetActive (true);

        attack_speed = equipped.attack_speed;
    }
Exemple #50
0
 public static Dictionary<AttributeType, int> Convert(EquipmentData data)
 {
     Dictionary<AttributeType, int> attributes = new Dictionary<AttributeType, int>();
     attributes = new Dictionary<AttributeType, int>();
     attributes.Add(AttributeType.Health, data.Attributes.Health);
     attributes.Add(AttributeType.Strength, data.Attributes.Str);
     attributes.Add(AttributeType.Magic, data.Attributes.Mag);
     attributes.Add(AttributeType.Agility, data.Attributes.Agi);
     attributes.Add(AttributeType.Dexterity, data.Attributes.Dex);
     attributes.Add(AttributeType.WillPower, data.Attributes.Will);
     attributes.Add(AttributeType.Armor, data.Attributes.Armor);
     attributes.Add(AttributeType.MagicArmor, data.Attributes.MagicArmor);
     return attributes;
 }
Exemple #51
0
 void Awake()
 {
     data = ScriptableObject.CreateInstance ("EquipmentData") as EquipmentData;
     data.level = GameObject.FindGameObjectWithTag ("Player").GetComponent<Player> ().level;
     data.attack_speed = Random.Range (min_attack_speed, max_attack_speed);
     data.dmg = base_dmg + inc_dmg * data.level;
     data.dmg = Random.Range (data.dmg - (data.dmg / 5), data.dmg + (data.dmg / 5));
     SetRarity (Random.Range (0, 10000));
     data.added_min = data.dmg - (data.dmg / 10);
     data.added_max = data.dmg + (data.dmg / 10);
     data.id = id;
     data.sprite = sprite;
     data.equip_name = equip_name;
     data.weapon_holder = GameObject.FindGameObjectWithTag ("WeaponHolder").transform;
     Destroy (gameObject, 60.0f);
 }
Exemple #52
0
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
            DontDestroyOnLoad(gameObject);

            playerData = Resources.Load("Data/PlayerData")as PlayerData;
            monsterData = Resources.Load("Data/MonsterData")as MonsterData;
            stageData = Resources.Load("Data/StageData")as StageData;
            equipmentData = Resources.Load("Data/EquipmentData")as EquipmentData;
            weaponData = Resources.Load("Data/WeaponData")as WeaponData;

        }
        else
        {
            Destroy(gameObject);
        }
    }
 private string GetEquipmentName(EquipmentData data)
 {
     return data == null ? StringAsset.Get(this.noneKey) : data.EquipmentName;
 }
    void Start()
    {
        SpawnPlayer(); // Temp / Arre Barre

        equipmentList = new EquipmentList();
        weapon = equipmentList.GetWeapon( 0 );
        head = new EquipmentData( EquipmentData.Type.Head, "Naked", 1, 1f );
        body = new EquipmentData( EquipmentData.Type.Body, "Naked", 1, 1f );
        feet = new EquipmentData( EquipmentData.Type.Feet, "Naked", 1, 1f );
        money = 0;
    }
 public void OnSetEquipmentData(EquipmentData data)
 {
     this.data = data;
 }
 // parse weapons and equipment from JSON file
 void InsertEquipment( EquipmentData.Type type, string typeString, JSONNode jsonNode )
 {
     for( int i = 0; i < jsonNode["equipment"][typeString].Count; i++ ) // add helmets
     {
         equipment.Add( new EquipmentData( type, jsonNode["equipment"][typeString][i]["name"],
                                          jsonNode["equipment"][typeString][i]["armor"].AsInt,
                                          jsonNode["equipment"][typeString][i]["speed"].AsInt ) );
     }
 }
 public void OnSetEquipmentData(EquipmentData data)
 {
     this.prefab = data == null ? null : data.AttackPrefab;
 }
Exemple #58
0
 /// <summary>
 /// 初始化裝備屬性
 /// </summary>
 protected virtual void InitEquipment(EquipmentData _equipment)
 {
     Level = _equipment.Level;
     Name = _equipment.Name;
     Weight = _equipment.Weight;
     Constitution = _equipment.Constitution;
     Mind = _equipment.Mind;
     Strength = _equipment.Strength;
     Faith = _equipment.Faith;
     Alert = _equipment.Alert;
     Will = _equipment.Will;
     Skill = _equipment.Skill;
     Agile = _equipment.Agile;
     Power = _equipment.Power;
     PAttack = _equipment.PAttack;
     MAttack = _equipment.MAttack;
     PLethalityRate = _equipment.PLethalityRate;
     MLethalityRate = _equipment.MLethalityRate;
     PDefense = _equipment.PDefense;
     MDefense = _equipment.MDefense;
     PResistanceRate = _equipment.PResistanceRate;
     MResistanceRate = _equipment.MResistanceRate;
     Accuracy = _equipment.Accuracy;
     Dodge = _equipment.Dodge;
     Tenacity = _equipment.Tenacity;
 }
 public void Broadcast(EquipmentData data)
 {
     this.observer.OnSetEquipmentData(data);
 }
Exemple #60
0
 public void Remove()
 {
     data = null;
     background.gameObject.SetActive (false);
     sprite.gameObject.SetActive (false);
 }