Example #1
0
        public override void OnClickView(VBase view)
        {
            View.Common.Bind.VBindList vBindList = view.transform.parent.GetComponent <View.Common.Bind.VBindList>();
            VBaseListChild             child     = view as VBaseListChild;

            Model.Character.MCharacter mCharacter = child.model as Model.Character.MCharacter;
            if (vBindList.BindPath == "selectedCharacters")
            {
                mCharacter = System.Array.Find(Global.SUser.self.characters, chara => chara.characterId == mCharacter.characterId);
            }
            if (mCharacter.isSelected == 0 && selectedCharacters.Count == battleFieldMaster.owns.Length)
            {
                return;
            }
            mCharacter.isSelected = mCharacter.isSelected == 0 ? 1 : 0;
            child.UpdateView(mCharacter);
            if (mCharacter.isSelected == 1)
            {
                selectedCharacters.Add(mCharacter.Clone());
            }
            else
            {
                selectedCharacters.RemoveAt(selectedCharacters.FindIndex(chara => chara.characterId == mCharacter.characterId));
            }
            this.dispatcher.Set("selectedCharacters", selectedCharacters.ToArray());
            this.dispatcher.Notify();
        }
Example #2
0
 public override void UpdateView(Model.Character.MCharacter mCharacter)
 {
     base.UpdateView(mCharacter);
     HeadChanged();
     WeaponChanged();
     ClothesChanged();
     HorseChanged();
     ActionChanged();
 }
Example #3
0
        public static void ToShowNpc(int npcId, string message, System.Action onComplete = null)
        {
            VCharacterBase vCharacter = Global.charactersManager.vCharacters.Find(chara => chara.mCharacter.id == npcId);

            Model.Character.MCharacter mCharacter = vCharacter.mCharacter;
            Request req = Request.Create("mCharacter", mCharacter, "message", message, "closeEvent", onComplete);

            AppManager.CurrentScene.StartCoroutine(Global.AppManager.ShowDialog(Util.Dialog.TalkDialog, req));
        }
Example #4
0
        public override IEnumerator OnLoad(Request request)
        {
            int    npcId   = request.Get <int>("npcId");
            string message = request.Get <string>("message");

            Model.Character.MCharacter mCharacter = request.Get <Model.Character.MCharacter>("mCharacter");
            int isPlayer = Global.charactersManager.mainVCharacter.mCharacter.characterId == mCharacter.characterId ? 1 : 0;

            this.dispatcher.Set("name", mCharacter.name);
            this.dispatcher.Set("characterId", mCharacter.characterId);
            this.dispatcher.Set("message", message);
            this.dispatcher.Set("isPlayer", isPlayer);
            this.dispatcher.Notify();
            yield return(StartCoroutine(base.OnLoad(request)));
        }
Example #5
0
        void AddCharacterHandler(int npcId, App.Model.ActionType actionType, App.Model.Direction direction, int x, int y, bool isPlayer)
        {
            Debug.LogError("VScenarioMap AddCharacterHandler");
            Model.Character.MCharacter character = NpcCacher.Instance.GetFromNpc(npcId);
            character.StatusInit();
            character.action = actionType;
            GameObject obj = character.staticAvatar == 0 ? Instantiate(Global.characterPrefab) : Instantiate(Global.avatarPrefab);

            obj.transform.SetParent(characterLayer);
            obj.transform.localScale = Vector3.one * 0.6f;
            //float x = character.coordinate.x * 0.64f + 0.32f + (character.coordinate.y % 2 == 0 ? 0 : 0.32f);
            obj.transform.localPosition = new Vector3(x * 0.32f, -4.4f, 0);
            obj.SetActive(true);
            Avatar.VCharacterBase vCharacter = obj.GetComponent <Avatar.VCharacterBase>();
            vCharacter.UpdateView(character);
            vCharacter.direction = direction;
            Global.charactersManager.vCharacters.Add(vCharacter);
            if (isPlayer)
            {
                Global.charactersManager.mainVCharacter = vCharacter;
            }
        }
Example #6
0
        private void SetCharacters()
        {
            object val = this.GetByPath("characters");

            if (val == null)
            {
                return;
            }
            List <Model.Character.MCharacter> characters = val as List <Model.Character.MCharacter>;

            for (int i = 0; i < characters.Count; i++)
            {
                Model.Character.MCharacter character = characters[i];
                Debug.LogError("character=" + character.name + "," + character.staticAvatar);
                GameObject obj = character.staticAvatar == 0 ? Instantiate(Global.characterPrefab) : Instantiate(Global.avatarPrefab);
                obj.transform.SetParent(characterLayer);
                obj.transform.localScale = Vector3.one * 0.6f;
                float x = character.coordinate.x * 0.64f + 0.32f + (character.coordinate.y % 2 == 0 ? 0 : 0.32f);
                obj.transform.localPosition = new Vector3(x, -character.coordinate.y * 0.64f - 0.32f, 0);
                Avatar.VCharacterBase vCharacter = obj.GetComponent <Avatar.VCharacterBase>();
                vCharacter.UpdateView(character);
                Global.charactersManager.vCharacters.Add(vCharacter);
            }
        }
Example #7
0
 public virtual void UpdateView(Model.Character.MCharacter mCharacter)
 {
     this.mCharacter = mCharacter;
     Init();
 }