少年修仙传客户端代码仓库
client_Wu Xijin
2019-01-22 a9330418549ede9871b90124641820b82c1ae16c
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
4个文件已修改
9个文件已添加
663 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/SkillFrameAnimationConfig.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/SkillFrameAnimationConfig.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyKnapSack/JadeDynastyKnapSackWin.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill/JadeDynastySkillCell.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill/JadeDynastySkillCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill/JadeDynastySkillModel.cs 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill/JadeDynastySkillModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill/JadeDynastySkillWin.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastySkill/JadeDynastySkillWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/ActivateShow.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmPropertyUpWin.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/FrameEffect.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/SkillFrameAnimationConfig.cs
New file
@@ -0,0 +1,44 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Tuesday, January 22, 2019
//--------------------------------------------------------
using UnityEngine;
using System;
namespace TableConfig {
    public partial class SkillFrameAnimationConfig : ConfigBase {
        public int skillTypeId { get ; private set ; }
        public int totalTime { get ; private set ; }
        public string[] spriteKeys;
        public override string getKey()
        {
            return skillTypeId.ToString();
        }
        public override void Parse() {
            try
            {
                skillTypeId=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
                totalTime=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0;
                spriteKeys = rawContents[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    }
}
Core/GameEngine/Model/Config/SkillFrameAnimationConfig.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d2052f17dcdee634082ca8f214df0ecd
timeCreated: 1548147951
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/JadeDynastyKnapSack/JadeDynastyKnapSackWin.cs
@@ -7,6 +7,7 @@
    public class JadeDynastyKnapSackWin : Window
    {
        [SerializeField] FunctionButton funcEquip;
        [SerializeField] FunctionButton m_JadeDynastySkill;
        [SerializeField] FunctionButtonGroup funcGroup;
        [SerializeField] Button closeBtn;
        [SerializeField] Button leftBtn;
@@ -23,6 +24,7 @@
            leftBtn.AddListener(ClickLeft);
            rightBtn.AddListener(ClickRight);
            funcEquip.AddListener(ClickFuncEquip);
            m_JadeDynastySkill.AddListener(OpenJadeDynastySkill);
        }
        protected override void OnPreOpen()
@@ -74,6 +76,13 @@
            functionOrder = funcEquip.order;
        }
        private void OpenJadeDynastySkill()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<JadeDynastySkillWin>();
            functionOrder = m_JadeDynastySkill.order;
        }
        private void ClickClose()
        {
            CloseSubWindows();
System/JadeDynastySkill.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 2f9ea79536d2476479a4288b9329e172
folderAsset: yes
timeCreated: 1548126896
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
System/JadeDynastySkill/JadeDynastySkillCell.cs
New file
@@ -0,0 +1,82 @@
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class JadeDynastySkillCell : CellView
    {
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] Image m_SkillIcon;
        [SerializeField] Text m_SkillName;
        [SerializeField] Transform m_ContainerSkillLock;
        [SerializeField] Text m_Condition;
        [SerializeField] Text[] m_EquipPlaceNames;
        [SerializeField] Transform m_ContainerLock;
        [SerializeField] Transform m_ContainerUnlockable;
        [SerializeField] Button m_Unlock;
        [SerializeField] Transform m_ContainerUnlocked;
        JadeDynastySkillModel model
        {
            get { return ModelCenter.Instance.GetModel<JadeDynastySkillModel>(); }
        }
        public void Display(int skillId)
        {
            m_ContainerSelect.gameObject.SetActive(skillId == model.selectSkill);
            m_Unlock.RemoveAllListeners();
            var skillConfig = Config.Instance.Get<SkillConfig>(skillId);
            if (skillConfig != null)
            {
                m_SkillIcon.SetSprite(skillConfig.IconName);
                m_SkillName.text = skillConfig.SkillName;
            }
            var skillState = model.GetSkillState(skillId);
            m_ContainerSkillLock.gameObject.SetActive(skillState != JadeDynastySkillState.Unlocked);
            JadeDynastySkillCondition condition;
            var index = 0;
            if (model.TryGetSkillCondition(skillId, out condition))
            {
                m_Condition.text = Language.Get("JadeDynastySkillContition", condition.level);
                foreach (var equipPlace in condition.equipPlaces)
                {
                    if (index < m_EquipPlaceNames.Length)
                    {
                        m_EquipPlaceNames[index].gameObject.SetActive(true);
                        m_EquipPlaceNames[index].text = Language.Get("", equipPlace);
                        m_EquipPlaceNames[index].color = skillState == JadeDynastySkillState.Unlocked || model.IsSatisfyEquipLevel(equipPlace, condition.level) ?
                            UIHelper.GetUIColor(TextColType.DarkGreen) : UIHelper.GetUIColor(TextColType.Gray, true);
                    }
                    index++;
                }
            }
            for (int i = index; i < m_EquipPlaceNames.Length; i++)
            {
                m_EquipPlaceNames[i].gameObject.SetActive(false);
            }
            m_ContainerLock.gameObject.SetActive(skillState == JadeDynastySkillState.Lock);
            m_ContainerUnlockable.gameObject.SetActive(skillState == JadeDynastySkillState.Unlockable);
            m_ContainerUnlocked.gameObject.SetActive(skillState == JadeDynastySkillState.Unlocked);
            if (skillState == JadeDynastySkillState.Unlockable)
            {
                m_Unlock.AddListener(() =>
                {
                    C0304_tagCAddSkillPoint pak = new C0304_tagCAddSkillPoint();
                    pak.SkillID = (ushort)skillId;
                    GameNetSystem.Instance.SendInfo(pak);
                });
            }
        }
    }
}
System/JadeDynastySkill/JadeDynastySkillCell.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 173092759a751964e8bce56c5d62f138
timeCreated: 1548143731
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/JadeDynastySkill/JadeDynastySkillModel.cs
New file
@@ -0,0 +1,260 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using TableConfig;
using UnityEngine;
namespace Snxxz.UI
{
    public class JadeDynastySkillModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        Dictionary<int, List<int>> jadeDynastySkills = new Dictionary<int, List<int>>();
        Dictionary<int, JadeDynastySkillCondition> skillConditions = new Dictionary<int, JadeDynastySkillCondition>();
        Dictionary<int, Sprite[]> skillFrames = new Dictionary<int, Sprite[]>();
        List<int> alreadyUnlockSkills = new List<int>();
        bool serverInited = false;
        public List<int> mySkills
        {
            get
            {
                var job = PlayerDatas.Instance.baseData.Job;
                var key = (int)Mathf.Pow(2, job);
                if (jadeDynastySkills.ContainsKey(key))
                {
                    return jadeDynastySkills[key];
                }
                else
                {
                    jadeDynastySkills[key] = new List<int>();
                }
                return jadeDynastySkills[key];
            }
        }
        public readonly Redpoint redpoint = new Redpoint(117, 11702);
        int m_SelectSkill;
        public int selectSkill
        {
            get { return m_SelectSkill; }
            set
            {
                if (m_SelectSkill != value)
                {
                    m_SelectSkill = value;
                    if (selectSkillRefresh != null)
                    {
                        selectSkillRefresh(value);
                    }
                }
            }
        }
        public event Action<int> skillRefresh;
        public event Action<int> selectSkillRefresh;
        PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        public override void Init()
        {
            ParseConfig();
            packModel.RefreshItemCountAct += RefreshItemCountAct;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
        }
        public void OnBeforePlayerDataInitialize()
        {
            alreadyUnlockSkills.Clear();
            serverInited = false;
        }
        public void OnPlayerLoginOk()
        {
            serverInited = true;
            UpdateRedpoint();
        }
        public override void UnInit()
        {
            packModel.RefreshItemCountAct -= RefreshItemCountAct;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
        }
        void ParseConfig()
        {
            {
                var config = Config.Instance.Get<FuncConfigConfig>("EquipZhuXian");
                var json = LitJson.JsonMapper.ToObject(config.Numerical3);
                foreach (var skillIdKey in json.Keys)
                {
                    var skillTypeId = int.Parse(skillIdKey);
                    var skillConfig = Config.Instance.Get<SkillConfig>(skillTypeId);
                    if (skillConfig == null)
                    {
                        continue;
                    }
                    List<int> list;
                    if (!jadeDynastySkills.TryGetValue(skillConfig.UseType, out list))
                    {
                        list = new List<int>();
                        jadeDynastySkills.Add(skillConfig.UseType, list);
                    }
                    list.Add(skillTypeId);
                    var levelKey = json[skillIdKey].Keys.First();
                    var level = int.Parse(levelKey);
                    skillConditions.Add(skillTypeId, new JadeDynastySkillCondition()
                    {
                        level = level,
                        equipPlaces = new List<int>(LitJson.JsonMapper.ToObject<int[]>(json[skillIdKey][levelKey].ToJson())),
                    });
                }
            }
            foreach (var skills in jadeDynastySkills.Values)
            {
                skills.Sort(Compare);
            }
        }
        public bool IsSatisfyEquipLevel(int equipPlace, int level)
        {
            var itemModel = packModel.GetItemModelByIndex(PackType.rptJadeDynastyEquip, equipPlace);
            if (itemModel != null)
            {
                return itemModel.chinItemModel.LV >= level;
            }
            return false;
        }
        public JadeDynastySkillState GetSkillState(int skillId)
        {
            if (alreadyUnlockSkills.Contains(skillId))
            {
                return JadeDynastySkillState.Unlocked;
            }
            JadeDynastySkillCondition condition;
            if (TryGetSkillCondition(skillId, out condition))
            {
                foreach (var equipPlace in condition.equipPlaces)
                {
                    if (!IsSatisfyEquipLevel(equipPlace, condition.level))
                    {
                        return JadeDynastySkillState.Lock;
                    }
                }
            }
            return JadeDynastySkillState.Unlockable;
        }
        public bool TryGetSkillCondition(int skillId, out JadeDynastySkillCondition condition)
        {
            return skillConditions.TryGetValue(skillId, out condition);
        }
        public bool TryGetSkillFrames(int skillId, out Sprite[] _sprites)
        {
            if (!skillFrames.ContainsKey(skillId))
            {
                var config = Config.Instance.Get<SkillFrameAnimationConfig>(skillId);
                if (config != null)
                {
                    Sprite[] sprites = new Sprite[config.spriteKeys.Length];
                    for (int i = 0; i < config.spriteKeys.Length; i++)
                    {
                        var sprite = UILoader.LoadSprite(config.spriteKeys[i]);
                        sprites[i] = sprite;
                    }
                    skillFrames.Add(skillId, sprites);
                }
            }
            return skillFrames.TryGetValue(skillId, out _sprites);
        }
        public void OnReceivePackage(H0310_tagRoleSkillChange package)
        {
            var skillConfig = Config.Instance.Get<SkillConfig>(package.NewSkillID);
            if (skillConfig != null &&
                mySkills.Contains(skillConfig.SkillTypeID))
            {
                if (!alreadyUnlockSkills.Contains(skillConfig.SkillTypeID))
                {
                    alreadyUnlockSkills.Add(skillConfig.SkillTypeID);
                    if (skillRefresh != null)
                    {
                        skillRefresh(skillConfig.SkillTypeID);
                    }
                    if (serverInited)
                    {
                        if (!NewBieCenter.Instance.inGuiding
                            && !WindowCenter.Instance.IsOpen<RealmPropertyUpWin>())
                        {
                            ActivateShow.JadeDynastySkillUnlock(skillConfig.SkillTypeID);
                        }
                    }
                }
                UpdateRedpoint();
            }
        }
        private int Compare(int lhs, int rhs)
        {
            if (skillConditions.ContainsKey(lhs)
                && skillConditions.ContainsKey(rhs))
            {
                return skillConditions[lhs].level.CompareTo(skillConditions[rhs].level);
            }
            return 0;
        }
        private void RefreshItemCountAct(PackType packType, int arg2, int arg3)
        {
            if (packType == PackType.rptJadeDynastyEquip)
            {
                UpdateRedpoint();
            }
        }
        private void OnFuncStateChangeEvent(int id)
        {
            if (id == 167)
            {
                UpdateRedpoint();
            }
        }
        void UpdateRedpoint()
        {
            var unlockable = false;
            if (FuncOpen.Instance.IsFuncOpen(167))
            {
                foreach (var skill in mySkills)
                {
                    var state = GetSkillState(skill);
                    if (state == JadeDynastySkillState.Unlockable)
                    {
                        unlockable = true;
                        break;
                    }
                }
            }
            redpoint.state = unlockable ? RedPointState.Simple : RedPointState.None;
        }
    }
    public struct JadeDynastySkillCondition
    {
        public int level;
        public List<int> equipPlaces;
    }
    public enum JadeDynastySkillState
    {
        Lock,
        Unlockable,
        Unlocked,
    }
}
System/JadeDynastySkill/JadeDynastySkillModel.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 54964ff87641376429f6b467cf990d8e
timeCreated: 1548127288
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/JadeDynastySkill/JadeDynastySkillWin.cs
New file
@@ -0,0 +1,141 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, January 22, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class JadeDynastySkillWin : Window
    {
        [SerializeField] Text m_SkillDescription;
        [SerializeField] Text m_SkillFightPower;
        [SerializeField] FrameEffect m_SkillFrame;
        [SerializeField] ScrollerController m_ScrollerControl;
        JadeDynastySkillModel model
        {
            get { return ModelCenter.Instance.GetModel<JadeDynastySkillModel>(); }
        }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_ScrollerControl.OnRefreshCell += OnRefreshCell;
        }
        protected override void OnPreOpen()
        {
            SetDefaultSelect();
            Display();
            model.selectSkillRefresh += SelectSkillRefresh;
            model.skillRefresh += SkillRefresh;
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            model.selectSkillRefresh -= SelectSkillRefresh;
            model.skillRefresh -= SkillRefresh;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        void SetDefaultSelect()
        {
            foreach (var skill in model.mySkills)
            {
                if (model.GetSkillState(skill) == JadeDynastySkillState.Unlockable)
                {
                    model.selectSkill = skill;
                    return;
                }
            }
            model.selectSkill = model.mySkills[0];
        }
        void Display()
        {
            DisplaySkills();
            DisplaySkillDetail();
        }
        void DisplaySkills()
        {
            m_ScrollerControl.Refresh();
            foreach (var skill in model.mySkills)
            {
                m_ScrollerControl.AddCell(ScrollerDataType.Header, skill,OnSelectSkill);
            }
            m_ScrollerControl.Restart();
            var index = model.mySkills.IndexOf(model.selectSkill);
            if (index != -1)
            {
                m_ScrollerControl.JumpIndex(index);
            }
        }
        void DisplaySkillDetail()
        {
            var skillConfig = Config.Instance.Get<SkillConfig>(model.selectSkill);
            if (skillConfig != null)
            {
                m_SkillDescription.text = skillConfig.Description;
                m_SkillFightPower.text = StringUtility.Contact("+", skillConfig.FightPower);
                Sprite[] sprites;
                if (model.TryGetSkillFrames(model.selectSkill, out sprites))
                {
                    var config = Config.Instance.Get<SkillFrameAnimationConfig>(model.selectSkill);
                    m_SkillFrame.SetSprites(sprites, (float)config.totalTime / 1000);
                }
            }
        }
        private void SelectSkillRefresh(int skillId)
        {
            DisplaySkillDetail();
            m_ScrollerControl.m_Scorller.RefreshActiveCellViews();
        }
        private void OnSelectSkill(CellView cell)
        {
            model.selectSkill = cell.index;
        }
        private void SkillRefresh(int id)
        {
            m_ScrollerControl.RefreshSingleCellView(id);
        }
        private void OnRefreshCell(ScrollerDataType type, CellView cell)
        {
            var skillCell = cell as JadeDynastySkillCell;
            skillCell.Display(cell.index);
        }
    }
}
System/JadeDynastySkill/JadeDynastySkillWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 6ed84d1a53f9ac844be81ad82535b43e
timeCreated: 1548139898
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Realm/ActivateShow.cs
@@ -361,6 +361,26 @@
            }
        }
        public static void JadeDynastySkillUnlock(int skillId)
        {
            activateType = ActivateFunc.JadeDynastySkill;
            skills.Clear();
            fightPower = 0;
            skills.Add(skillId);
            titleIconKey = "UI_JH_6";
            var config = Config.Instance.Get<SkillConfig>(skillId);
            if (config != null)
            {
                fightPower = config.FightPower;
            }
            if (!WindowCenter.Instance.IsOpen<RealmPropertyUpWin>())
            {
                WindowCenter.Instance.Open<RealmPropertyUpWin>();
            }
        }
        public static void PrepareSkillFly()
        {
            if (prepareFlySkillEvent != null)
@@ -384,6 +404,7 @@
            Stove, //炼丹炉升级
            TreasureSoul,//法宝魂领取属性
            GodWeaponEffect,
            JadeDynastySkill,
        }
        public struct PropertyCompare
System/Realm/RealmPropertyUpWin.cs
@@ -30,6 +30,7 @@
        [SerializeField] SkillBehaviour[] m_Skills;
        [SerializeField] RectTransform m_ContainerNewGotSkill;
        [SerializeField] SkillBehaviour m_NewGotSkill;
        [SerializeField] FrameEffect m_NewGotSkillFrame;
        [SerializeField] RectTransform m_NewGotSkillPoint;
        [SerializeField] RectTransform m_ContainerRealm;
        [SerializeField] RectTransform m_ContainerRealmUp;
@@ -73,6 +74,7 @@
            m_ContainerRealm.gameObject.SetActive(false);
            m_ContainerTreasureSoul.gameObject.SetActive(false);
            m_ContainerGodWeaponEffect.gameObject.SetActive(false);
            m_NewGotSkillFrame.gameObject.SetActive(false);
            m_DisplayAlphaTween.SetStartState();
            flying = false;
            startFly = false;
@@ -162,6 +164,10 @@
                    DisplayFightPower();
                    DisplayLv();
                    DisplayGodWeaponEffect();
                    DisplayNewGotSkill();
                    break;
                case ActivateShow.ActivateFunc.JadeDynastySkill:
                    DisplayFightPower();
                    DisplayNewGotSkill();
                    break;
            }
@@ -365,6 +371,15 @@
                        }
                    }
                    break;
                case ActivateShow.ActivateFunc.JadeDynastySkill:
                    m_ContainerNewGotSkill.gameObject.SetActive(ActivateShow.skills.Count > 0);
                    if (ActivateShow.skills.Count == 0)
                    {
                        return;
                    }
                    m_NewGotSkill.DisplayNewGot(ActivateShow.skills[0]);
                    DisplaySkillFrame(ActivateShow.skills[0]);
                    break;
                default:
                    {
                        m_ContainerNewGotSkill.gameObject.SetActive(ActivateShow.skills.Count > 0);
@@ -400,6 +415,18 @@
            m_GodWeaponStage.text = Language.Get("MagicWin_9", config.Name, stage);
        }
        void DisplaySkillFrame(int skillId)
        {
            m_NewGotSkillFrame.gameObject.SetActive(true);
            var model = ModelCenter.Instance.GetModel<JadeDynastySkillModel>();
            Sprite[] sprites;
            if (model.TryGetSkillFrames(skillId, out sprites))
            {
                var config = Config.Instance.Get<SkillFrameAnimationConfig>(skillId);
                m_NewGotSkillFrame.SetSprites(sprites, (float)config.totalTime / 1000);
            }
        }
        void PrepareFly(int _skillId)
        {
            ActivateShow.PrepareSkillFly();
UI/Common/FrameEffect.cs
@@ -45,6 +45,11 @@
            timer += Time.deltaTime;
            tempSumTime -= Time.deltaTime;
            if (m_Sprites == null || m_Sprites.Length == 0)
            {
                return;
            }
            if(tempSumTime > 0)
            {
                if (timer > interval)
@@ -68,6 +73,23 @@
            }
        }
        public void SetSprites(Sprite[] sprites,float _totalTime)
        {
            m_Sprites = sprites;
            onceTime = _totalTime;
            sumTime = _totalTime;
            if (m_Sprites != null && m_Sprites.Length > 0)
            {
                interval = onceTime / m_Sprites.Length;
                index = 0;
                timer = 0f;
                tempSumTime = sumTime;
                m_Behaviour.overrideSprite = m_Sprites[index];
                m_Behaviour.SetNativeSize();
            }
        }
    }
}