示例#1
0
        public void InitCharacters(Dictionary <int, bool> characterIds, Model.Master.MBattlefield battlefieldMaster)
        {
            int index = 0;
            List <MCharacter> characters = Global.charactersManager.mCharacters;

            characters.Clear();
            System.Array.ForEach(Global.SUser.self.characters, (model) =>
            {
                if (characterIds.ContainsKey(model.characterId))
                {
                    Model.Master.MBattleOwn own = battlefieldMaster.owns[index++];
                    model.belong       = Belong.self;
                    model.coordinate.x = own.x;
                    model.coordinate.y = own.y;
                    CharacterInit(model);
                    characters.Add(model);
                }
            });
            foreach (Model.Master.MBattleNpc battleNpc in battlefieldMaster.enemys)
            {
                MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc);
                mCharacter.belong = Belong.enemy;
                CharacterInit(mCharacter);
                characters.Add(mCharacter);
            }
            foreach (App.Model.Master.MBattleNpc battleNpc in battlefieldMaster.friends)
            {
                MCharacter mCharacter = NpcCacher.Instance.GetFromBattleNpc(battleNpc);
                mCharacter.belong = Belong.friend;
                CharacterInit(mCharacter);
                characters.Add(mCharacter);
            }
            this.dispatcher.Set("characters", characters);
        }
示例#2
0
        public override IEnumerator OnLoad(Request request)
        {
            Model.Master.MBattlefield battlefieldMaster = request.Get <Model.Master.MBattlefield>("mBattlefield");
            selectedCharacters = request.Get <List <MCharacter> >("selectedCharacters");
            Dictionary <int, bool> characterIds = new Dictionary <int, bool>();

            selectedCharacters.ForEach(chara => {
                characterIds.Add(chara.characterId, true);
            });
            yield return(this.StartCoroutine(base.OnLoad(request)));

            Service.SUser sUser = Util.Global.SUser;
            string        url   = Service.HttpClient.assetBandleURL + "maps/maps_001.unity3d";

            yield return(this.StartCoroutine(sUser.Download(url, 0, InitMap)));

            InitManager();
            InitCharacters(characterIds, battlefieldMaster);
            AddEvents();
            this.dispatcher.Notify();
            LSharpInit();
        }