コード例 #1
0
    static public GameObject FindItem(GameObject a_obj, GameObjectItem a_item)
    {
        GameObject returnObj = null;

        FindItemRecursive(a_obj, ref returnObj, a_item);
        return(returnObj);
    }
コード例 #2
0
 public PrefabItem(string name, Action <Vector3> droppedCallback, IItemID id, GameObjectItem prefab)
 {
     Name = name;
     ID   = id;
     this.droppedCallback = droppedCallback;
     this.prefab          = prefab;
 }
コード例 #3
0
 public void Add(string name, GameObjectItem gameObject)
 {
     if (!itemList.ContainsKey(name))
     {
         itemList.Add(name, gameObject);
     }
 }
コード例 #4
0
ファイル: GameUtils.cs プロジェクト: geoteo/za-delivery-game
    static GameObject FindItemRecursive(GameObject a_obj, ref GameObject a_returnObj, GameObjectItem a_item)
    {
        if(a_returnObj)
            return a_returnObj;

        if(a_obj)
        {
            switch(a_item)
            {
            case TrafficSystemGameUtils.GameObjectItem.RIGIDBODY:
            {
                if(a_obj.rigidbody)
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.RENDERER:
            {
                if(a_obj.renderer)
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.COLLIDER:
            {
                if(a_obj.collider)
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.NAV_MESH_AGENT:
            {
                if(a_obj.GetComponent<NavMeshAgent>())
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.ANIMATOR:
            {
                if(a_obj.GetComponent<Animator>())
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.TRAFFIC_SYSTEM_PIECE:
            {
                if(a_obj.GetComponent<TrafficSystemPiece>())
                    a_returnObj = a_obj;
            }
                break;
            }

            if(!a_returnObj)
            {
                for(int cIndex = 0; cIndex < a_obj.transform.childCount; cIndex++)
                {
                    Transform child = a_obj.transform.GetChild(cIndex);
                    if(child.gameObject && !a_returnObj)
                        a_returnObj = FindItemRecursive(child.gameObject, ref a_returnObj, a_item);
                }
            }
        }

        return a_returnObj;
    }
コード例 #5
0
    private void gameObjectDisplay()
    {
        GUILayout.BeginHorizontal();

        GUILayout.Label("", GUILayout.Width(this.offsetSize * this.childLevel));

        if (this.go.transform.childCount > 0 && GUILayout.Button(this.go.transform.childCount.ToString(), GUILayout.Width(30)))
        {
            this.toggleChild();
        }

        if (GUILayout.Button(this.go.transform.name))
        {
            if (GameObjectItem.lastSelected != null)
            {
                lastSelected.isSelected = false;
            }
            this.isSelected             = true;
            GameObjectItem.lastSelected = this;

            this.inspector.setGameObject(this.go);
        }

        GUILayout.EndHorizontal();
    }
コード例 #6
0
        private GameObjectItem <T> GetObjectItem <T>(string key) where T : Component
        {
            GameObjectItem <T> objItem = null;

            if (_dict.ContainsKey(key))
            {
                objItem = _dict[key] as GameObjectItem <T>;
            }
            return(objItem);
        }
 private void AddChildrenRecursive(GameObjectItem parentItem)
 {
     for (var i = 0; i < parentItem.gameObject.transform.childCount; i++)
     {
         var child     = parentItem.gameObject.transform.GetChild(i);
         var childItem = new GameObjectItem(child.gameObject);
         parentItem.AddChild(childItem);
         AddChildrenRecursive(childItem);
     }
 }
コード例 #8
0
        private GameObjectItem <T> GetObjectItem <T>(string key, GameObject clone, Transform parent) where T : Component
        {
            GameObjectItem <T> objItem;

            if (_dict.ContainsKey(key))
            {
                objItem = _dict[key] as GameObjectItem <T>;
            }
            else
            {
                objItem = new GameObjectItem <T>(clone, parent);
            }

            return(objItem);
        }
コード例 #9
0
    public static GameObject CreatePrefab(GameObject parent, GameObjectItem item)
    {
        GameObject go = loadPrefab(item.prefab);

        Debug.Log(item.name);
        go.name = item.name;
        if (!string.IsNullOrEmpty(item.sprite))
        {
            var sprite = Resources.Load(item.sprite, typeof(Sprite)) as Sprite;
            go.GetComponent <Image>().sprite = sprite;
        }

        if (!string.IsNullOrEmpty(item.text))
        {
            go.GetComponentInChildren <Text>().text = item.text;
        }
        if (item.fontSize != 0)
        {
            go.GetComponentInChildren <Text>().fontSize = item.fontSize;
        }
        if (!string.IsNullOrEmpty(item.color))
        {
            Color fontColor = new Color(255, 0, 0);
            if (item.color == "red")
            {
                fontColor = new Color(255, 0, 0);
            }
            go.GetComponentInChildren <Text>().color = fontColor;
        }
        if (!(item.x == 0 && item.y == 0))
        {
            go.transform.position = new Vector3(item.x, item.y);
        }

        if (item.width > 0)
        {
            go.GetComponent <RectTransform>().sizeDelta = new Vector2(item.width, item.height);
        }
        go.transform.SetParent(parent.transform, false);
        return(go);
    }
コード例 #10
0
        private void AddSiblings(GameObjectItem item)
        {
            var parent = item.gameObject.transform.parent;

            if (parent == null)
            {
                var rootObjects = item.gameObject.scene.GetRootGameObjects();

                foreach (var sceneRootObject in rootObjects)
                {
                    var sibling = sceneRootObject;

                    if (sibling != item.gameObject)
                    {
                        var siblingItem = new GameObjectItem(sibling);
                        // siblingItem.dim = true;
                        item.parent.AddChild(siblingItem);
                        AddChildrenRecursive(siblingItem);
                    }
                }
            }
            else
            {
                for (var i = 0; i < parent.childCount; i++)
                {
                    var sibling = parent.GetChild(i).gameObject;

                    if (sibling != item.gameObject)
                    {
                        var siblingItem = new GameObjectItem(sibling);
                        // siblingItem.dim = true;
                        item.parent.AddChild(siblingItem);
                        AddChildrenRecursive(siblingItem);
                    }
                }
            }
        }
コード例 #11
0
ファイル: GameUtils.cs プロジェクト: geoteo/za-delivery-game
    static GameObject FindParentItemRecursive(GameObject a_obj, ref GameObject a_returnObj, GameObjectItem a_item)
    {
        if(a_returnObj)
            return a_returnObj;

        if(a_obj)
        {
            switch(a_item)
            {
            case TrafficSystemGameUtils.GameObjectItem.RIGIDBODY:
            {
                if(a_obj.rigidbody)
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.RENDERER:
            {
                if(a_obj.renderer)
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.COLLIDER:
            {
                if(a_obj.collider)
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.NAV_MESH_AGENT:
            {
                if(a_obj.GetComponent<NavMeshAgent>())
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.ANIMATOR:
            {
                if(a_obj.GetComponent<Animator>())
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.TRAFFIC_SYSTEM_PIECE:
            {
                if(a_obj.GetComponent<TrafficSystemPiece>())
                    a_returnObj = a_obj;
            }
                break;
            case TrafficSystemGameUtils.GameObjectItem.TRAFFIC_SYSTEM_INTERSECTION:
            {
                if(a_obj.GetComponent<TrafficSystemIntersection>())
                    a_returnObj = a_obj;
            }
                break;
            }

            if(!a_returnObj)
            {
                if(a_obj.transform.parent)
                    a_returnObj = FindParentItemRecursive(a_obj.transform.parent.gameObject, ref a_returnObj, a_item);
            }
        }

        return a_returnObj;
    }
コード例 #12
0
ファイル: GameUtils.cs プロジェクト: geoteo/za-delivery-game
 public static GameObject FindParentItem(GameObject a_obj, GameObjectItem a_item)
 {
     GameObject returnObj = null;
     FindParentItemRecursive( a_obj, ref returnObj, a_item );
     return returnObj;
 }
コード例 #13
0
    static GameObject FindParentItemRecursive(GameObject a_obj, ref GameObject a_returnObj, GameObjectItem a_item)
    {
        if (a_returnObj)
        {
            return(a_returnObj);
        }

        if (a_obj)
        {
            switch (a_item)
            {
            case TrafficSystemGameUtils.GameObjectItem.RIGIDBODY:
            {
                if (a_obj.GetComponent <Rigidbody>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.RENDERER:
            {
                if (a_obj.GetComponent <Renderer>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.COLLIDER:
            {
                if (a_obj.GetComponent <Collider>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.NAV_MESH_AGENT:
            {
                if (a_obj.GetComponent <NavMeshAgent>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.ANIMATOR:
            {
                if (a_obj.GetComponent <Animator>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.TRAFFIC_SYSTEM_PIECE:
            {
                if (a_obj.GetComponent <TrafficSystemPiece>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.TRAFFIC_SYSTEM_INTERSECTION:
            {
                if (a_obj.GetComponent <TrafficSystemIntersection>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;
            }

            if (!a_returnObj)
            {
                if (a_obj.transform.parent)
                {
                    a_returnObj = FindParentItemRecursive(a_obj.transform.parent.gameObject, ref a_returnObj, a_item);
                }
            }
        }

        return(a_returnObj);
    }
コード例 #14
0
 public void Equipped(GameObject holder)
 {
     spawnedPrefab = Instantiate(prefab, holder.transform);
 }
コード例 #15
0
        protected override TreeViewItem BuildRoot()
        {
            var root = new TreeViewItem(-1, -1, "Root");

            root.children = new List <TreeViewItem>();

            if (targets != null && targets.Length == 1)
            {
                var target = targets[0];

                if (target == null)
                {
                    parentWindow.Close();

                    return(root);
                }

                // Build the minimal transform hierarchy
                var parents = new List <GameObject>();

                var currentParent = target;

                while (currentParent != null)
                {
                    parents.Add(currentParent);
                    currentParent = currentParent.transform.parent.AsUnityNull()?.gameObject;
                }

                parents.Reverse();

                var rootTransform = parents[0];
                var scene         = rootTransform.gameObject.scene;
                var sceneItem     = new SceneItem(scene);
                root.AddChild(sceneItem);
                Item currentParentItem = sceneItem;

                foreach (var parent in parents)
                {
                    var parentItem = new GameObjectItem(parent);
                    currentParentItem.AddChild(parentItem);
                    currentParentItem = parentItem;
                }

                AddChildrenRecursive((GameObjectItem)currentParentItem);

                // AddSiblings((GameObjectItem)currentParentItem);
            }
            else
            {
                var prefabStage = PrefabStageUtility.GetCurrentPrefabStage();

                if (prefabStage != null)
                {
                    // Build the prefab stage hierarchy

                    var prefabRoot     = prefabStage.prefabContentsRoot;
                    var prefabRootItem = new GameObjectItem(prefabRoot);

                    var stageItem = new PrefabStageItem(prefabStage);
                    AddChildrenRecursive(prefabRootItem);
                    stageItem.AddChild(prefabRootItem);
                    root.AddChild(stageItem);
                }
                else
                {
                    // Build the full scene hierarchy

                    for (var i = 0; i < SceneManager.sceneCount; i++)
                    {
                        var scene = SceneManager.GetSceneAt(i);

                        if (!scene.IsValid())
                        {
                            continue;
                        }

                        var sceneItem = new SceneItem(scene);

                        if (scene.isLoaded)
                        {
                            foreach (var sceneRootGameObject in scene.GetRootGameObjects())
                            {
                                var sceneRootGameObjectItem = new GameObjectItem(sceneRootGameObject);

                                AddChildrenRecursive(sceneRootGameObjectItem);

                                sceneItem.AddChild(sceneRootGameObjectItem);
                            }
                        }

                        root.AddChild(sceneItem);
                    }
                }
            }

            // Override with search if needed
            if (hasSearch)
            {
                var searchRoot    = new TreeViewItem(-1, -1, "Results");
                var searchResults = new List <TreeViewItem>();

                var treeViewItemStack = new Stack <TreeViewItem>();
                treeViewItemStack.Push(root);

                while (treeViewItemStack.Count > 0)
                {
                    var treeViewItem = treeViewItemStack.Pop();

                    if (treeViewItem.children != null)
                    {
                        foreach (var child in treeViewItem.children)
                        {
                            if (child != null)
                            {
                                if (DoesItemMatchSearch(child, searchString))
                                {
                                    searchResults.Add(child);
                                }

                                treeViewItemStack.Push(child);
                            }
                        }
                    }
                }

                foreach (var searchResult in searchResults)
                {
                    searchResult.children = null;
                }

                searchResults.Sort((x, y) => SearchUtility.Relevance(searchString, x.displayName).CompareTo(SearchUtility.Relevance(searchString, y.displayName)));
                searchRoot.children = searchResults;
                root = searchRoot;
            }

            SetupDepthsFromParentsAndChildren(root);

            hoveredItem = null;

            return(root);
        }
コード例 #16
0
ファイル: Battle.cs プロジェクト: YiQiangZhang/SuperMan
    public static void ShowBattlePanel(GameObject gameObject)
    {
        var battlePanel = GameObject.Find("BattlePanel");

        if (battlePanel == null)
        {
            battlePanel = Game.CreatePrefab(gameObject, new GameObjectItem
            {
                name   = "BattlePanel",
                prefab = "Prefabs/Panel",
                sprite = "hero/group/0界面底板"
            });
            battlePanel.GetComponentInChildren <Image>().color = new Color(147, 175, 191);
            GameObject back = Game.CreatePrefab(battlePanel, new GameObjectItem
            {
                name     = "返回按钮",
                width    = 54,
                height   = 54,
                prefab   = "Prefabs/Button",
                type     = 1,
                x        = -600,
                y        = 350,
                fontSize = 30,
                sprite   = "0返回按钮",
            });

            back.GetComponent <Button>().onClick.AddListener(() =>
            {
                GameObject m = GameObject.Find("BattlePanel");
                GameObject.Destroy(m);
            });

            User.configs = User.HttpSend <List <Value> >("/config/enum", new { });
            User.heros   = User.HttpSend <List <Hero> >("/hero/enter", new { });
            Debug.Log(User.heros.Count);



            GameObject battleGo = Game.CreatePrefab(battlePanel, new GameObjectItem
            {
                name     = "阵容保存按钮",
                text     = "保存",
                width    = 80,
                height   = 60,
                prefab   = "Prefabs/Button",
                type     = 1,
                x        = -600,
                y        = 220,
                fontSize = 30
            });
            battleGo.GetComponent <Button>().onClick.AddListener(ChooseClick);

            var bList = new List <GameObjectItem>();
            for (int i = 0; i < battleList.Count; i++)
            {
                var position = new GameObjectItem()
                {
                    x = battleList[i].x,
                    y = battleList[i].y
                };
                position.name = i.ToString();
                var has = User.heros.Find(r =>
                {
                    return(r.GetValueByName("出战") == i + 1);
                }
                                          );
                position.text     = has == null ? "+" : User.GetConfig(has.heroNo).name;
                position.width    = 133;;
                position.height   = 153;
                position.prefab   = "Prefabs/Button";
                position.sprite   = "hero/group/1阵容按钮";
                position.fontSize = has == null ? 80 : 30;
                position.color    = has == null ? "" : "red";
                GameObject item = Game.CreatePrefab(battlePanel, position);
                HeroHelper.AddChooseListener(gameObject, item, (GameObject start, GameObject end) =>
                {
                    Debug.Log("choose");
                    //先检查
                    var endHero  = User.heros.Find(r => r.id == end.name);
                    var goAttack = endHero.GetValueByName("出战");
                    if (goAttack > 0)
                    {
                        Game.ChangeText("BattlePanel/" + (goAttack - 1).ToString() + "/Text", "+", "", 80);
                        endHero.SetValueByName("出战", 0);
                    }
                    var startHero = User.heros.Find(r => r.GetValueByName("出战") == long.Parse(start.name) + 1);
                    if (startHero != null)
                    {
                        var startHeroPosition = startHero.GetValueByName("出战");
                        Game.ChangeText("BattlePanel/" + (startHeroPosition - 1).ToString() + "/Text", "+", "", 80);
                        startHero.SetValueByName("出战", 0);
                    }

                    //更换
                    endHero.SetValueByName("出战", long.Parse(start.name) + 1);
                    Game.ChangeText("BattlePanel/" + start.name + "/Text", User.GetConfig(endHero.heroNo).name, "red", 30);
                });
            }


            //创建几个按钮
            // GameObject skillGo = Game.CreatePrefab(battlePanel, new GameObjectItem
            // {
            //     name = "特技按钮",
            //     text = "特技",
            //     width = 100,
            //     height = 60,
            //     prefab = "Prefabs/Button",
            //     type = 1,
            //     x = 100,
            //     y = 320,
            //     fontSize = 30,
            // });
            //
            // skillGo.GetComponent<Button>().onClick.AddListener(() =>
            // {
            //
            // });

            var skillList = new List <GameObjectItem>()
            {
                new GameObjectItem()
                {
                    x = 150, y = 200
                },
                new GameObjectItem()
                {
                    x = 250, y = 200
                },
                new GameObjectItem()
                {
                    x = 350, y = 200
                },
                new GameObjectItem()
                {
                    x = 450, y = 200
                },
                new GameObjectItem()
                {
                    x = 550, y = 200
                },
            };


            for (int i = 0; i < skillList.Count; i++)
            {
                skillList[i].name     = "skill" + i.ToString();
                skillList[i].text     = "+";
                skillList[i].width    = 113;
                skillList[i].height   = 113;
                skillList[i].prefab   = "Prefabs/Button";
                skillList[i].fontSize = 50;
                skillList[i].sprite   = "hero/group/2特技框";

                Game.CreatePrefab(battlePanel, skillList[i]).GetComponent <Button>().onClick.AddListener(() =>
                {
                });
            }
        }
    }
コード例 #17
0
    static GameObject FindItemRecursive(GameObject a_obj, ref GameObject a_returnObj, GameObjectItem a_item)
    {
        if (a_returnObj)
        {
            return(a_returnObj);
        }

        if (a_obj)
        {
            switch (a_item)
            {
            case TrafficSystemGameUtils.GameObjectItem.RIGIDBODY:
            {
                if (a_obj.GetComponent <Rigidbody>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.RENDERER:
            {
                if (a_obj.GetComponent <Renderer>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.COLLIDER:
            {
                if (a_obj.GetComponent <Collider>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.NAV_MESH_AGENT:
            {
                if (a_obj.GetComponent <NavMeshAgent>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.ANIMATOR:
            {
                if (a_obj.GetComponent <Animator>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;

            case TrafficSystemGameUtils.GameObjectItem.TRAFFIC_SYSTEM_PIECE:
            {
                if (a_obj.GetComponent <TrafficSystemPiece>())
                {
                    a_returnObj = a_obj;
                }
            }
            break;
            }

            if (!a_returnObj)
            {
                for (int cIndex = 0; cIndex < a_obj.transform.childCount; cIndex++)
                {
                    Transform child = a_obj.transform.GetChild(cIndex);
                    if (child.gameObject && !a_returnObj)
                    {
                        a_returnObj = FindItemRecursive(child.gameObject, ref a_returnObj, a_item);
                    }
                }
            }
        }

        return(a_returnObj);
    }
コード例 #18
0
ファイル: FightScene.cs プロジェクト: YiQiangZhang/SuperMan
    public static void Create(GameObject parent)
    {
        parent = GameObject.Find("Top");
        var bg = Game.CreatePrefab(parent, new GameObjectItem
        {
            name   = "Fight",
            width  = 1334,
            height = 750,
            prefab = "Prefabs/bg",
            sprite = "bg/8战斗背景",
        });

        GameObject back = Game.CreatePrefab(bg, new GameObjectItem
        {
            name     = "返回按钮",
            width    = 54,
            height   = 54,
            prefab   = "Prefabs/Button",
            type     = 1,
            x        = -600,
            y        = 350,
            fontSize = 30,
            sprite   = "0返回按钮",
        });

        back.GetComponent <Button>().onClick.AddListener(() =>
        {
            GameObject m = GameObject.Find("Fight");
            GameObject.Destroy(m);
        });

        var npcs = new List <string>()
        {
            "player/8/player8 00001",
            "player/9/player9 00001",
            "player/11/player11 00001",
            "player/15/player15 00001",
            "player/8/player8 00001",
            "player/9/player9 00001"
        };

        for (int i = 0; i < Battle.battleList.Count; i++)
        {
            var goItem = new GameObjectItem()
            {
                name   = i.ToString(),
                x      = Battle.battleList[i].x,
                y      = Battle.battleList[i].y + 50,
                width  = 250,
                height = 200,
                prefab = "Prefabs/fight/NPC",
                sprite = npcs[i]
            };
            Game.CreatePrefab(bg, goItem);
        }

        for (int i = 0; i < 5; i++)
        {
            var goItem = new GameObjectItem()
            {
                name   = "skill" + i.ToString(),
                x      = -580 + 120 * i,
                y      = -300,
                width  = 113,
                height = 113,
                prefab = "Prefabs/fight/GO",
                sprite = "hero/group/2特技框"
            };
            Game.CreatePrefab(bg, goItem);
        }

        //创建BOSS
        var boss = new GameObjectItem()
        {
            name   = "boss",
            x      = 400,
            y      = 0,
            width  = 500,
            height = 500,
            prefab = "Prefabs/fight/GO",
            sprite = "player/16/enemy_0003 00001"
        };

        Game.CreatePrefab(bg, boss);

        var bossBlood = new GameObjectItem()
        {
            name   = "bossBlood",
            x      = 350,
            y      = 330,
            prefab = "Prefabs/fight/BossBlood",
        };

        Game.CreatePrefab(bg, bossBlood);
        var bossItems = new List <string>()
        {
            "手",
            "棍棒",
            "腿",
        };

        for (int i = 0; i < bossItems.Count; i++)
        {
            var bossItem = new GameObjectItem()
            {
                name   = bossItems[i],
                x      = 570,
                y      = 280 - i * 40,
                prefab = "Prefabs/fight/BossItem",
            };
            Game.CreatePrefab(bg, bossItem);
            Game.ChangeText("Fight/" + bossItems[i] + "/Text", bossItems[i]);
        }

        for (int i = 0; i < 3; i++)
        {
            var goItem = new GameObjectItem()
            {
                name   = "npc" + i.ToString(),
                x      = -Battle.battleList[i].x,
                y      = -Battle.battleList[i].y - 100,
                width  = 250,
                height = 200,
                prefab = "Prefabs/fight/NPC",
                sprite = npcs[i]
            };
            var npc = Game.CreatePrefab(bg, goItem);
            npc.GetComponent <RectTransform>().SetPositionAndRotation(npc.transform.position, new Quaternion(0, 180, 0, 0));
        }
        Sequence     seq = DOTween.Sequence();
        List <Tween> ts  = new List <Tween>();

        Attack(seq, "0", "npc1");
        Attack(seq, "1", "npc2");
    }
コード例 #19
0
        private void GameObjectRowContentGUI(Rect rowPosition, Rect contentPosition, GameObjectItem item, RowGUIArgs args)
        {
            var openPrefabButtonPosition = new Rect
                                           (
                rowPosition.xMax - HierarchyStyles.openPrefabButton.fixedWidth - HierarchyStyles.openPrefabButton.margin.right,
                rowPosition.y,
                HierarchyStyles.openPrefabButton.fixedWidth,
                HierarchyStyles.openPrefabButton.fixedHeight
                                           );

            if (item.canOpenPrefab)
            {
                if (GUI.Button(openPrefabButtonPosition, GUIContent.none, HierarchyStyles.openPrefabButton))
                {
                    GameObjectOperations.OpenPrefab(item.gameObject);
                    parentWindow?.Close();
                    GUIUtility.ExitGUI();
                    return;
                }
            }

            contentPosition.xMax = openPrefabButtonPosition.xMin;

            var iconPosition = new Rect
                               (
                contentPosition.x,
                contentPosition.y,
                IconSize.Small,
                IconSize.Small
                               );

            if (PeekPlugin.Configuration.enablePreviewIcons && PreviewUtility.TryGetPreview(item.gameObject, out var preview) && preview != null)
            {
                GUI.DrawTexture(iconPosition, preview);
            }
            else if (item.icon != null)
            {
                GUI.DrawTexture(iconPosition, item.icon);
            }

            if (item.overlay != null)
            {
                GUI.DrawTexture(iconPosition, item.overlay);
            }

            var labelPosition = contentPosition;

            labelPosition.xMin += iconPosition.width;
            labelPosition.xMin += 2;

            var label = item.displayName;

            if (hasSearch)
            {
                label = SearchUtility.HighlightQuery(label, searchString);
            }

            if (e.type == EventType.Repaint)
            {
                item.style.Draw(labelPosition, label, false, false, args.selected, args.focused);
            }

            var target = item.gameObject;

            if (target == null)
            {
                return;
            }

            Object[] targets;

            if (args.selected)
            {
                targets = GetSelection().Where(i => FindItem(i, rootItem) is GameObjectItem).Select(i => FindGameObjectItem(i).gameObject).ToArray();
            }
            else
            {
                targets = new[] { target.gameObject };
            }

            TreeViewToolbars.Draw(false, toolbarControlProvider, target, targets, args.selected, args.label, contentPosition, rowPosition, HasFocus());
        }