示例#1
0
        public override void UpdateView()
        {
            App.Model.Master.MBattlefield battlefieldMaster = App.Util.Cacher.BattlefieldCacher.Instance.Get(ViewModel.BattlefieldId.Value);
            title.text = battlefieldMaster.name;
            num.text   = ViewModel.BattlefieldId.Value.ToString();
            level.text = string.Format("Lv.{0}", ViewModel.Level.Value);
            for (int i = 0; i < stars.Length; i++)
            {
                Image obj = stars[i];
                obj.color = i < ViewModel.Star.Value ? Color.yellow : Color.white;
            }
            App.Model.Master.MBattleNpc battleNpc = System.Array.Find(battlefieldMaster.enemys, _ => _.boss == 1);
            MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc);

            icon.BindingContext = mCharacter.ViewModel;
        }
示例#2
0
        public override IEnumerator OnLoad(Request request)
        {
            int battleId = request.Get <int>("battleId");

            battleFieldMaster = BattlefieldCacher.Instance.Get(battleId);
            title.text        = battleFieldMaster.name;
            labelAp.text      = string.Format("Ap:{0}", battleFieldMaster.ap);
            SelectCharacterContentInit();
            yield return(this.StartCoroutine(base.OnLoad(request)));

            if (App.Util.Global.SUser.self.characters == null)
            {
                SCharacter sCharacter = new SCharacter();
                yield return(StartCoroutine(sCharacter.RequestList(App.Util.Global.SUser.self.id)));

                App.Util.Global.SUser.self.characters = sCharacter.characters;
            }
            BaseCharacterList();
        }
示例#3
0
        protected override void InitMap()
        {
            App.Model.Master.MBattlefield battlefieldMaster = App.Util.Cacher.BattlefieldCacher.Instance.Get(battlefieldId);
            maxBout    = battlefieldMaster.max_bout;
            title.text = battlefieldMaster.name;
            mBaseMap   = new MBaseMap();
            App.Model.Master.MWorld mWorld = System.Array.Find(Global.worlds, w => w.id == battlefieldMaster.world_id);
            mBaseMap.MapId = mWorld.map_id;
            //mBaseMap.Tiles = battlefieldMaster.tiles.Clone() as App.Model.MTile[];
            mBaseMap.Tiles = mWorld.stages.Clone() as App.Model.MTile[];
            base.InitMap();
            List <MCharacter> characters = new List <MCharacter>();

            for (int i = 0; i < characterIds.Count; i++)
            {
                MCharacter mCharacter = System.Array.Find(App.Util.Global.SUser.self.characters, _ => _.CharacterId == characterIds[i]);
                mCharacter.Belong = Belong.self;
                //mCharacter.Level = 50;
                //己方出战坐标
                App.Model.Master.MBattleOwn mBattleOwn = battlefieldMaster.owns[i];
                mCharacter.CoordinateX = mBattleOwn.x;
                mCharacter.CoordinateY = mBattleOwn.y;
                CharacterInit(mCharacter);
                characters.Add(mCharacter);
                //mCharacter.Hp -= 50;
            }
            foreach (App.Model.Master.MBattleNpc battleNpc in battlefieldMaster.enemys)
            {
                MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc);
                mCharacter.Belong = Belong.enemy;
                //mCharacter.Level = 50;
                CharacterInit(mCharacter);
                characters.Add(mCharacter);
                //mCharacter.Hp = 1;
            }
            bool isFirst = !System.Array.Exists(Global.SUser.self.battlelist, b => b.BattlefieldId == battlefieldId);

            if (isFirst)
            {
                foreach (App.Model.Master.MBattleNpc battleNpc in battlefieldMaster.friends)
                {
                    MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc);
                    mCharacter.Belong = Belong.friend;
                    //mCharacter.Level = 50;
                    CharacterInit(mCharacter);
                    characters.Add(mCharacter);
                }
            }
            mBaseMap.Characters     = characters.ToArray();
            vBaseMap.BindingContext = mBaseMap.ViewModel;
            vBaseMap.UpdateView();
            vBaseMap.transform.parent.localScale = Vector3.one;
            vBaseMap.MoveToPosition();
            characters.ForEach(character => character.Action = ActionType.idle);
            List <string> script;

            if (isFirst)
            {
                script = battlefieldMaster.script;
            }
            else
            {
                script = new List <string>();
            }
            script.Add("Battle.boutwave(self);");
            App.Util.LSharp.LSharpScript.Instance.Analysis(script);
        }