Beispiel #1
0
        public override IEnumerator OnLoad(Request request)
        {
            yield return(StartCoroutine(base.OnLoad(request)));

            if (Global.SUser.self.equipments == null)
            {
                SEquipment sEquipment = new SEquipment();
                yield return(StartCoroutine(sEquipment.RequestList()));

                Global.SUser.self.equipments = sEquipment.equipments;
            }
            if (request != null && request.Has("selectEvent"))
            {
                selectEvent = request.Get <System.Action <int> >("selectEvent");
            }
            else
            {
                selectEvent = null;
            }
            App.Model.Master.MEquipment.EquipmentType equipmentType = request.Get <App.Model.Master.MEquipment.EquipmentType>("equipmentType");
            App.Model.MEquipment[] equipments = System.Array.FindAll(Global.SUser.self.equipments,
                                                                     _ => _.EquipmentType == equipmentType && _.character_id == 0);
            Debug.LogError("equipmentType=" + equipmentType);
            if (equipmentType == App.Model.Master.MEquipment.EquipmentType.horse && request.Has("moveType"))
            {
                MoveType moveType = request.Get <MoveType>("moveType");
                Debug.LogError("moveType=" + moveType);
                equipments = System.Array.FindAll(equipments, e => e.Master.move_type == moveType);
            }
            foreach (App.Model.MEquipment equipment in equipments)
            {
                ScrollViewSetChild(content, childItem, equipment);
            }
            yield return(0);
        }
Beispiel #2
0
        private IEnumerator EquipmentChanged(VEquipmentIcon equipmentIcon, int equipmentId, App.Model.Master.MEquipment.EquipmentType equipmentType)
        {
            App.Model.MEquipment mEquipment;
            if (ViewModel.UserId.Value > 0)
            {
                App.Model.MUser user = UserCacher.Instance.Get(ViewModel.UserId.Value);
                if (user == null)
                {
                    yield return(StartCoroutine(Global.SUser.RequestGet(ViewModel.UserId.Value)));

                    user = UserCacher.Instance.Get(ViewModel.UserId.Value);
                }
                mEquipment = System.Array.Find(user.equipments,
                                               e => e.EquipmentId == equipmentId && e.character_id == ViewModel.CharacterId.Value && e.EquipmentType == equipmentType);
            }
            else
            {
                mEquipment = NpcEquipmentCacher.Instance.GetEquipment(equipmentId);
            }
            if (mEquipment == null)
            {
                mEquipment = new App.Model.MEquipment();
                mEquipment.EquipmentType = equipmentType;
            }
            equipmentIcon.BindingContext = mEquipment.ViewModel;
            equipmentIcon.UpdateView();
            yield break;
        }