private void InitAvaterInfo(EAvaterType type)
 {
     if (type == EAvaterType.MainPlayer)
     {
         Info = new CSMainPlayerInfo(null);
     }
 }
예제 #2
0
    /// <summary>
    /// 单位进入视野
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="id"></param>
    /// <param name="data"></param>
    /// <param name="type"></param>
    public virtual void ProcessAvatarEnterView <T>(long id, object data, EAvaterType type) where T : CSAvater, new()
    {
        if (id == 0)
        {
            return;
        }

        CSAvater avater = GetAvater(id);

        if (avater == null)
        {
            avater = GetPoolItem <T>(typeof(T));
        }
        //刷新的视野还在场景中,那么不进行创建,而是进行单位的刷新
        avater.InitData(data);

        TryCreateAvater(avater, null);
        //AddWaitDeal(avatar, TryCreateAvater, CreateAvatarInternal, null);
    }
    private void OnGUI_SelectAvaterType()
    {
        GUILayout.BeginHorizontal();
        {
            SelectAvaterType = (EAvaterType)EditorGUILayout.EnumPopup(SelectAvaterType, GUILayout.Width(100));
            if (LastSelectAvaterType != SelectAvaterType)
            {
                LastSelectAvaterType = SelectAvaterType;
                InitAvaterInfo(SelectAvaterType);
            }
            if (SelectAvaterType != EAvaterType.MainPlayer)
            {
                GUILayout.Label("生成数量:", GUILayout.Width(60));
                EditorGUILayout.TextField("", GUILayout.Width(80));

                if (GUILayout.Button("生成", GUILayout.Width(40)))
                {
                }
            }
        }
        GUILayout.EndHorizontal();
    }
 public GMAvaterGenerateTool()
 {
     LastSelectAvaterType = SelectAvaterType;
     InitAvaterInfo(SelectAvaterType);
 }