Exemplo n.º 1
0
        protected override void OnInnerGUI(XCutSceneData data)
        {
            EditorGUILayout.Space();

            if (!data.GeneralShow)
            {
                EditorGUI.BeginChangeCheck();
                _id = EditorGUILayout.IntField("ID", _id);
                if (EditorGUI.EndChangeCheck())
                {
                    XEntityStatistics.RowData row = XTableMgr.GetTable <XEntityStatistics>().GetByID(_id);
                    if (row != null)
                    {
                        _name = row.Name;
                    }
                }
                _name = EditorGUILayout.TextField("Name", _name);
            }

            _discription = EditorGUILayout.TextArea(_discription, GUILayout.Height(80));
            EditorGUILayout.BeginHorizontal();
            _duration = EditorGUILayout.FloatField("Length", _duration);
            GUILayout.Label("(s)");
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Space();
            _x = EditorGUILayout.FloatField("X", _x);
            _y = EditorGUILayout.FloatField("Y", _y);
        }
Exemplo n.º 2
0
 public static GameObject GetStatics(uint statictid)
 {
     XEntityStatistics.RowData row = XTableMgr.GetTable <XEntityStatistics>().GetByID((int)statictid);
     if (row != null)
     {
         return(GetDummy(row.PresentID));
     }
     return(null);
 }
Exemplo n.º 3
0
 public static GameObject GetDummy(uint id)
 {
     XEntityStatistics.RowData data = AssociatedData(id);
     if (data == null)
     {
         return(null);
     }
     return(XAnimationLibrary.GetDummy(data.PresentID));
 }
Exemplo n.º 4
0
 public GameObject GetDummy(uint statictid)
 {
     XEntityStatistics.RowData row = XTableMgr.GetTable<XEntityStatistics>().GetByID((int)statictid);
     if (row != null)
     {
         XEntityPresentation.RowData raw_data = XTableMgr.GetTable<XEntityPresentation>().GetItemID(row.PresentID);
         if (raw_data == null) return null;
         string prefab = raw_data.Prefab;
         return XResources.Load<GameObject>("Prefabs/" + prefab, AssetType.Prefab);
     }
     return null;
 }
Exemplo n.º 5
0
 // 从本地读出来的配置数据初始化
 public void InitAttribute(XEntityStatistics.RowData data)
 {
     FightGroup       = data.Fightgroup;
     NormalAttackProb = data.AttackProb;
     EnterFightRange  = data.Sight;
     Blocked          = data.Block;
     AIStartTime      = data.AIStartTime;
     AIActionGap      = data.AIActionGap;
     IsFixedInCD      = data.IsFixedInCD;
     Outline          = data.Highlight;
     FloatingMin      = data.FloatHeight != null && data.FloatHeight.Length > 0 ? data.FloatHeight[0] : 0;
     FloatingMax      = data.FloatHeight != null && data.FloatHeight.Length > 0 ? data.FloatHeight[1] : 0;
     EndShow          = data.EndShow;
     GeneralCutScene  = data.UsingGeneralCutscene;
     FightTogetherDis = data.FightTogetherDis;
     AiBehavior       = data.AiBehavior;
     AiHit            = data.aihit;
     TypeID           = (uint)data.UID;
 }
Exemplo n.º 6
0
        protected override void ParseInfo(string data)
        {
            base.ParseInfo(data);
            string rawData = data.Substring(3);

            switch (infotype)
            {
            case InfoType.SpawnType:
                SpawnType = spawnType;
                break;

            case InfoType.BaseInfo:
                UID = uid;
                break;

            case InfoType.ExString:
                string[] strInfos = rawData.Split('|');
                if (strInfos.Length > 0)
                {
                    exString = strInfos[0];
                }
                break;

            case InfoType.EditorInfo:
                if (rawData.Length > 0)
                {
                    string[] strEditorCoords = rawData.Split(',');
                    rectX = int.Parse(strEditorCoords[0]);
                    rectY = int.Parse(strEditorCoords[1]);
                }
                break;

            case InfoType.TransformInfo:
                string[] strFloats = rawData.Split(',');
                int      index     = int.Parse(strFloats[0]);
                _prefabSlot.Add(index);
                if (_prefab != null)
                {
                    if (go == null)
                    {
                        go = GameObject.Instantiate(_prefab);
                    }
                    go.name = GetMonsterName(_id);
                    go.transform.position = pos;
                    go.transform.Rotate(0, rotateY, 0);

                    XEntityStatistics.RowData sData = XTableMgr.GetTable <XEntityStatistics>().GetByID((int)_uni_id);
                    if (sData == null)
                    {
                        XDebug.Log("enemy id not exist:", _uni_id);
                        break;
                    }
                    if (sData.PresentID > 0)
                    {
                        XEntityPresentation.RowData pData = XTableMgr.GetTable <XEntityPresentation>().GetItemID((uint)sData.PresentID);
                        go.transform.localScale = Vector3.one * pData.Scale;
                    }
                }
                break;
            }
        }
Exemplo n.º 7
0
        public override void DoWindow(int id)
        {
            base.DoWindow(id);
            if (_wave.go != null)
            {
                Selection.activeGameObject = _wave.go;                   //EditorGUIUtility.PingObject(_wave.go);
            }
            if (_icon == null)
            {
                GenerateIcon();
            }
            GUILayout.BeginHorizontal();

            GUILayout.BeginVertical(new GUILayoutOption[] { GUILayout.Width(70), GUILayout.Height(100) });
            GUILayout.Box(_icon);

            GUILayout.BeginHorizontal();
            GUIStyle gs = new GUIStyle();

            gs.alignment        = TextAnchor.LowerRight;
            gs.normal.textColor = Color.white;
            XEntityStatistics.RowData eData = XTableMgr.GetTable <XEntityStatistics>().GetByID((int)_wave.UID);
            if (eData != null && _wave.SpawnType == LevelSpawnType.Spawn_Monster)
            {
                if (eData.Type == 1)
                {
                    gs.normal.textColor = Color.red;
                }
                else if (eData.Type == 6)
                {
                    gs.normal.textColor = Color.yellow;
                }
            }
            if (_wave.levelscript != null && _wave.levelscript.Length > 0)
            {
                int fileNamePos = _wave.levelscript.LastIndexOf("/");
                GUILayout.Label(_wave.levelscript.Substring(fileNamePos + 1), gs);
            }
            else
            {
                GUILayout.Label(_wave.UID + "x" + _wave.Count, gs);
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();

            GUILayout.Box("", new GUILayoutOption[] { GUILayout.Width(1), GUILayout.Height(80) });

            GUILayout.BeginVertical();
            // spawn info
            string   strSpawn = "";
            GUIStyle gsSpawn  = new GUIStyle();

            gsSpawn.alignment = TextAnchor.LowerRight;

            if (_wave.preWaves != null && _wave.preWaves.Length > 0)
            {
                strSpawn = "Pre Wave:" + _wave.preWaves;
                gsSpawn.normal.textColor = Color.green;
            }
            if (_wave.exString != null && _wave.exString.Length > 0)
            {
                strSpawn = "\nES:" + _wave.exString;
                gsSpawn.normal.textColor = Color.green;
            }
            strSpawn += "\nTime: " + _wave.time;
            gsSpawn.normal.textColor = Color.white;

            GUILayout.Label(strSpawn, gs, new GUILayoutOption[] { GUILayout.Width(100) });

            GUILayout.BeginHorizontal(new GUILayoutOption[] { GUILayout.Height(30) });
            if (_wave.HasBuff)
            {
                Texture item = AssetDatabase.LoadAssetAtPath("Assets/Editor/LevelEditor/res/bx2.png", typeof(Texture)) as Texture;
                GUILayout.Box(item);
            }
            GUILayout.EndHorizontal();

            GUILayout.Box("", new GUILayoutOption[] { GUILayout.Width(100), GUILayout.Height(1) });

            // operation
            GUILayout.BeginHorizontal();
            if (GUILayout.Button(RemoveWaveButtonContent, LevelLayout.miniButtonWidth))
            {
                _wave.LevelMgr.RemoveWave(_wave.ID);
                _wave.RemoveSceneViewInstance();
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();

            GUILayout.EndHorizontal();


            GUI.DragWindow();
        }