Exemplo n.º 1
0
 public static void RegisterObjectDock(ObjectDock dock)
 {
     if(Instance.ObjectDockMonoDict.Keys.Contains(dock.Name) == false)
     {
        Instance.ObjectDockMonoDict.Add(dock.Name, dock);
     }
 }
Exemplo n.º 2
0
 public static void RegisterObjectDock(ObjectDock dock)
 {
     if (Instance.ObjectDockMonoDict.Keys.Contains(dock.Name) == false)
     {
         Instance.ObjectDockMonoDict.Add(dock.Name, dock);
     }
 }
Exemplo n.º 3
0
    public override void OnInspectorGUI()
    {
        ObjectDock objectDock = target as ObjectDock;

        if (advancedEditor_EditGameEvent = EditorGUILayout.BeginToggleGroup(new GUIContent("Edit GameEvent", ""), advancedEditor_EditGameEvent))
        {
            foreach (ObjectDockData dockData in objectDock.objectDockData)
            {
                if (dictFlag.ContainsKey(dockData.Name) == false)
                {
                    dictFlag.Add(dockData.Name, false);
                }
                if (dictFlag[dockData.Name] = EditorGUILayout.BeginToggleGroup("Edit ObjectDockData:" + dockData.Name, dictFlag[dockData.Name]))
                {
                    if (dockData.event_at_start.Length > 0)
                    {
                        dockData.event_at_start = EditorCommon.EditGameEventArray("Edit StartEvent:", dockData.event_at_start);
                    }
                    if (dockData.event_at_end.Length > 0)
                    {
                        dockData.event_at_end = EditorCommon.EditGameEventArray("Edit EndEvent:", dockData.event_at_end);
                    }
                }
                EditorGUILayout.EndToggleGroup();
            }
        }
        EditorGUILayout.EndToggleGroup();

        if (autoFillDockWithChildren = EditorGUILayout.BeginToggleGroup(new GUIContent("Fill dockdata of children", ""), autoFillDockWithChildren))
        {
            defaultDockRotationType = (DockRotationType)EditorGUILayout.EnumPopup("Default rotation type:", defaultDockRotationType);
            defaultDockFleeMode     = (DockFleetMode)EditorGUILayout.EnumPopup("Default flee mode:", defaultDockFleeMode);
            if (GUILayout.Button("Fill dockData"))
            {
                ObjectDockData[] dockDatas = new ObjectDockData[objectDock.transform.childCount];
                int counter = 0;
                foreach (Transform child in objectDock.transform)
                {
                    dockDatas[counter]               = new ObjectDockData();
                    dockDatas[counter].Name          = child.name;
                    dockDatas[counter].DockTransform = child;
                    dockDatas[counter].fleeMode      = defaultDockFleeMode;
                    dockDatas[counter].rotationType  = defaultDockRotationType;
                    counter++;
                }
                objectDock.objectDockData = dockDatas;
            }
        }
        EditorGUILayout.EndToggleGroup();

        EditorGUILayout.LabelField("--------------------  Base inspector ----------------------------");
        base.OnInspectorGUI();
        CheckDuplicatedName(objectDock.Name);
    }
Exemplo n.º 4
0
        private void CreateStandardControls()
        {
            m_objectDock       = new ObjectDock();
            m_propDock         = new PropDock();
            m_resourceDock     = new ResourceDock();
            m_imagePreViewDock = new ImagePreViewDock();
            m_animateDock      = new AnimateDock();

            DynamicObj.objectDock       = m_objectDock;
            DynamicObj.propDock         = m_propDock;
            DynamicObj.resourceDock     = m_resourceDock;
            DynamicObj.imagePreViewDock = m_imagePreViewDock;
            DynamicObj.animateDock      = m_animateDock;
        }
Exemplo n.º 5
0
    void Search()
    {
        searchedOutput_ObjectDock = new ObjectDock[]{};
        searchedOutput_SpawnNPC = new SpawnNPC[]{};

        ObjectDock[] AllObjectDocks = Util.ConvertObjectArray<ObjectDock> (Object.FindObjectsOfType (typeof(ObjectDock)));
        SpawnNPC[] AllSpawnNPC = Util.ConvertObjectArray<SpawnNPC> (Object.FindObjectsOfType (typeof(SpawnNPC)));
        GameEventLifeCycle[] AllGameEventLifecycle = Util.ConvertObjectArray<GameEventLifeCycle> (Object.FindObjectsOfType(typeof(GameEventLifeCycle)));

        ObjectDock[] SearchedOutObjectDocksByEventType = new ObjectDock[]{};
        SpawnNPC[] SearchedOutSpawnNPCByEventType = new SpawnNPC[]{};
        GameEventLifeCycle[] SearchedOutGameEventLifeCycleByEventType = new GameEventLifeCycle[]{};

        ObjectDock[] SearchedOutObjectDocksByObjectReference = new ObjectDock[]{};
        SpawnNPC[] SearchedOutSpawnNPCByObjectReference = new SpawnNPC[]{};
        GameEventLifeCycle[] SearchedOutGameEventLifeCycleByObjectReference = new GameEventLifeCycle[]{};

        if (IsSearchByEventType) {
            //search every objectdocks, check gameevent type
            IEnumerable<ObjectDock> docks = AllObjectDocks.Where (x =>
                x.objectDockData.Count (y => y.event_at_start.Concat (y.event_at_end.AsEnumerable ()).Count (z => z.type == searchEventType) > 0) > 0
                );
            if (docks != null && docks.Count () > 0) {
                SearchedOutObjectDocksByEventType = docks.ToArray ();
            }
            //search every spawnNPC, check gameevent type
            IEnumerable<SpawnNPC> spawns = AllSpawnNPC.Where (x => x.Event_At_All_Spawned_DieOut.Count (
                y => y.type == searchEventType) > 0);
            if (spawns != null && spawns.Count () > 0) {
                SearchedOutSpawnNPCByObjectReference = spawns.ToArray ();
            }

            //search every gameevent lifecycle, check gameevent type
            IEnumerable<GameEventLifeCycle> gameEventLifeCycles = AllGameEventLifecycle.Where (x =>
                x.eventOnBirth.Count (y => y.type == searchEventType) > 0)
                .Concat(
                    AllGameEventLifecycle.Where (x =>
                x.eventOnDestroy.Count (y => y.type == searchEventType) > 0))
                .Concat(
                    AllGameEventLifecycle.Where (x =>
                x.eventOnUnitDie.Count (y => y.type == searchEventType) > 0));

            if (gameEventLifeCycles != null && gameEventLifeCycles.Count () > 0) {
                SearchedOutGameEventLifeCycleByEventType = gameEventLifeCycles.ToArray ();
            }

            searchedOutput_ObjectDock = SearchedOutObjectDocksByEventType;
            searchedOutput_SpawnNPC = SearchedOutSpawnNPCByObjectReference;
            searchedOutput_GameEventLC = SearchedOutGameEventLifeCycleByEventType;
        }

        if (IsSearchByObjectInReceiverField) {
            //search every object dock, check gameevent 's receiver
            IEnumerable<ObjectDock> docks = AllObjectDocks.Where (x =>
                x.objectDockData.Count (y => y.event_at_start.Concat (y.event_at_end.AsEnumerable ()).Count (z => z.receiver == SearchObjectReference) > 0) > 0
                );
            if (docks != null && docks.Count () > 0) {
                SearchedOutObjectDocksByObjectReference = docks.ToArray ();
            }
            //search every spawnNPC, check gameevent 's receiver
            IEnumerable<SpawnNPC> spawns = AllSpawnNPC.Where (x => x.Event_At_All_Spawned_DieOut.Count (
                y => y.receiver == SearchObjectReference) > 0);
            if (spawns != null && spawns.Count () > 0) {
                SearchedOutSpawnNPCByObjectReference = spawns.ToArray ();
            }

            //search every gameevent lifecycle, check gameevent 's receiver
            IEnumerable<GameEventLifeCycle> gameEventLifeCycles = AllGameEventLifecycle.Where (x =>
                x.eventOnBirth.Count (y => y.receiver == SearchObjectReference) > 0)
                .Concat(
                    AllGameEventLifecycle.Where (x =>
                x.eventOnDestroy.Count (y => y.receiver == SearchObjectReference) > 0))
                .Concat(
                    AllGameEventLifecycle.Where (x =>
                x.eventOnUnitDie.Count (y => y.receiver == SearchObjectReference) > 0));
            if (gameEventLifeCycles != null && gameEventLifeCycles.Count () > 0) {
                SearchedOutGameEventLifeCycleByObjectReference = gameEventLifeCycles.ToArray ();
            }

            if (searchedOutput_ObjectDock == null || searchedOutput_ObjectDock.Length == 0) {
                searchedOutput_ObjectDock = SearchedOutObjectDocksByObjectReference;
            } else {
                searchedOutput_ObjectDock = searchedOutput_ObjectDock.Intersect (SearchedOutObjectDocksByObjectReference.AsEnumerable ()).ToArray ();
            }

            if (searchedOutput_SpawnNPC == null || searchedOutput_SpawnNPC.Length == 0) {
                searchedOutput_SpawnNPC = SearchedOutSpawnNPCByObjectReference;
            } else {
                searchedOutput_SpawnNPC = searchedOutput_SpawnNPC.Intersect (SearchedOutSpawnNPCByObjectReference.AsEnumerable ()).ToArray ();
            }

            if (searchedOutput_GameEventLC == null || searchedOutput_GameEventLC.Length == 0) {
                searchedOutput_GameEventLC = SearchedOutGameEventLifeCycleByObjectReference;
            } else {
                searchedOutput_GameEventLC = searchedOutput_GameEventLC.Intersect (SearchedOutGameEventLifeCycleByObjectReference.AsEnumerable ()).ToArray ();
            }
        }
    }
Exemplo n.º 6
0
    void Search()
    {
        searchedOutput_ObjectDock = new ObjectDock[] {};
        searchedOutput_SpawnNPC   = new SpawnNPC[] {};

        ObjectDock[]         AllObjectDocks        = Util.ConvertObjectArray <ObjectDock> (Object.FindObjectsOfType(typeof(ObjectDock)));
        SpawnNPC[]           AllSpawnNPC           = Util.ConvertObjectArray <SpawnNPC> (Object.FindObjectsOfType(typeof(SpawnNPC)));
        GameEventLifeCycle[] AllGameEventLifecycle = Util.ConvertObjectArray <GameEventLifeCycle> (Object.FindObjectsOfType(typeof(GameEventLifeCycle)));

        ObjectDock[]         SearchedOutObjectDocksByEventType        = new ObjectDock[] {};
        SpawnNPC[]           SearchedOutSpawnNPCByEventType           = new SpawnNPC[] {};
        GameEventLifeCycle[] SearchedOutGameEventLifeCycleByEventType = new GameEventLifeCycle[] {};

        ObjectDock[]         SearchedOutObjectDocksByObjectReference        = new ObjectDock[] {};
        SpawnNPC[]           SearchedOutSpawnNPCByObjectReference           = new SpawnNPC[] {};
        GameEventLifeCycle[] SearchedOutGameEventLifeCycleByObjectReference = new GameEventLifeCycle[] {};

        if (IsSearchByEventType)
        {
            //search every objectdocks, check gameevent type
            IEnumerable <ObjectDock> docks = AllObjectDocks.Where(x =>
                                                                  x.objectDockData.Count(y => y.event_at_start.Concat(y.event_at_end.AsEnumerable()).Count(z => z.type == searchEventType) > 0) > 0
                                                                  );
            if (docks != null && docks.Count() > 0)
            {
                SearchedOutObjectDocksByEventType = docks.ToArray();
            }
            //search every spawnNPC, check gameevent type
            IEnumerable <SpawnNPC> spawns = AllSpawnNPC.Where(x => x.Event_At_All_Spawned_DieOut.Count(
                                                                  y => y.type == searchEventType) > 0);
            if (spawns != null && spawns.Count() > 0)
            {
                SearchedOutSpawnNPCByObjectReference = spawns.ToArray();
            }

            //search every gameevent lifecycle, check gameevent type
            IEnumerable <GameEventLifeCycle> gameEventLifeCycles = AllGameEventLifecycle.Where(x =>
                                                                                               x.eventOnBirth.Count(y => y.type == searchEventType) > 0)
                                                                   .Concat(
                AllGameEventLifecycle.Where(x =>
                                            x.eventOnDestroy.Count(y => y.type == searchEventType) > 0))
                                                                   .Concat(
                AllGameEventLifecycle.Where(x =>
                                            x.eventOnUnitDie.Count(y => y.type == searchEventType) > 0));

            if (gameEventLifeCycles != null && gameEventLifeCycles.Count() > 0)
            {
                SearchedOutGameEventLifeCycleByEventType = gameEventLifeCycles.ToArray();
            }

            searchedOutput_ObjectDock  = SearchedOutObjectDocksByEventType;
            searchedOutput_SpawnNPC    = SearchedOutSpawnNPCByObjectReference;
            searchedOutput_GameEventLC = SearchedOutGameEventLifeCycleByEventType;
        }

        if (IsSearchByObjectInReceiverField)
        {
            //search every object dock, check gameevent 's receiver
            IEnumerable <ObjectDock> docks = AllObjectDocks.Where(x =>
                                                                  x.objectDockData.Count(y => y.event_at_start.Concat(y.event_at_end.AsEnumerable()).Count(z => z.receiver == SearchObjectReference) > 0) > 0
                                                                  );
            if (docks != null && docks.Count() > 0)
            {
                SearchedOutObjectDocksByObjectReference = docks.ToArray();
            }
            //search every spawnNPC, check gameevent 's receiver
            IEnumerable <SpawnNPC> spawns = AllSpawnNPC.Where(x => x.Event_At_All_Spawned_DieOut.Count(
                                                                  y => y.receiver == SearchObjectReference) > 0);
            if (spawns != null && spawns.Count() > 0)
            {
                SearchedOutSpawnNPCByObjectReference = spawns.ToArray();
            }

            //search every gameevent lifecycle, check gameevent 's receiver
            IEnumerable <GameEventLifeCycle> gameEventLifeCycles = AllGameEventLifecycle.Where(x =>
                                                                                               x.eventOnBirth.Count(y => y.receiver == SearchObjectReference) > 0)
                                                                   .Concat(
                AllGameEventLifecycle.Where(x =>
                                            x.eventOnDestroy.Count(y => y.receiver == SearchObjectReference) > 0))
                                                                   .Concat(
                AllGameEventLifecycle.Where(x =>
                                            x.eventOnUnitDie.Count(y => y.receiver == SearchObjectReference) > 0));
            if (gameEventLifeCycles != null && gameEventLifeCycles.Count() > 0)
            {
                SearchedOutGameEventLifeCycleByObjectReference = gameEventLifeCycles.ToArray();
            }

            if (searchedOutput_ObjectDock == null || searchedOutput_ObjectDock.Length == 0)
            {
                searchedOutput_ObjectDock = SearchedOutObjectDocksByObjectReference;
            }
            else
            {
                searchedOutput_ObjectDock = searchedOutput_ObjectDock.Intersect(SearchedOutObjectDocksByObjectReference.AsEnumerable()).ToArray();
            }

            if (searchedOutput_SpawnNPC == null || searchedOutput_SpawnNPC.Length == 0)
            {
                searchedOutput_SpawnNPC = SearchedOutSpawnNPCByObjectReference;
            }
            else
            {
                searchedOutput_SpawnNPC = searchedOutput_SpawnNPC.Intersect(SearchedOutSpawnNPCByObjectReference.AsEnumerable()).ToArray();
            }

            if (searchedOutput_GameEventLC == null || searchedOutput_GameEventLC.Length == 0)
            {
                searchedOutput_GameEventLC = SearchedOutGameEventLifeCycleByObjectReference;
            }
            else
            {
                searchedOutput_GameEventLC = searchedOutput_GameEventLC.Intersect(SearchedOutGameEventLifeCycleByObjectReference.AsEnumerable()).ToArray();
            }
        }
    }