コード例 #1
0
        /**
         * <summary>Creates a new instance of the 'Character: Render' Action, set to update a Mecanim-based character</summary>
         * <param name = "characterToAffect">The character to affect</param>
         * <param name = "sortingLock">Whether or not to lock the character's sorting</param>
         * <param name = "newSortingLayer">The new sorting layer, if locking the character's sorting</param>
         * <param name = "scaleLock">Whether of not to lock the character's scale</param>
         * <param name = "newScale">The new scale, as a percentage, if locking the character's scale</param>
         * <returns>The generated Action</returns>
         */
        public static ActionCharRender CreateNew_Mecanim(AC.Char characterToAffect, RenderLock sortingLock, string newSortingLayer, RenderLock scaleLock, int newScale)
        {
            ActionCharRender newAction = (ActionCharRender)CreateInstance <ActionCharRender>();

            newAction._char = characterToAffect;
            newAction.renderLock_sorting = sortingLock;
            newAction.mapType            = SortingMapType.SortingLayer;
            newAction.sortingLayer       = newSortingLayer;

            newAction.renderLock_scale = scaleLock;
            newAction.scale            = newScale;

            return(newAction);
        }
コード例 #2
0
        /**
         * <summary>Creates a new instance of the 'Character: Render' Action, set to update a sprite-based character</summary>
         * <param name = "characterToAffect">The character to affect</param>
         * <param name = "sortingLock">Whether or not to lock the character's sorting</param>
         * <param name = "newSortingLayer">The new sorting layer, if locking the character's sorting</param>
         * <param name = "scaleLock">Whether of not to lock the character's scale</param>
         * <param name = "newScale">The new scale, as a percentage, if locking the character's scale</param>
         * <param name = "directionLock">Whether or not to lock the character's facing direction</parm>
         * <param name = "newDirection">The new direction, if locking the character's facing direction</param>
         * <param name = "sortingMapLock">Whether or not to lock the character's current SortingMap</parm>
         * <param name = "newSortingMap">The new SortingMap, if locking the character's facing direction</param>
         * <returns>The generated Action</returns>
         */
        public static ActionCharRender CreateNew_Sprites(AC.Char characterToAffect, RenderLock sortingLock, string newSortingLayer, RenderLock scaleLock, int newScale, RenderLock directionLock, CharDirection newDirection, RenderLock sortingMapLock, SortingMap newSortingMap)
        {
            ActionCharRender newAction = (ActionCharRender)CreateInstance <ActionCharRender>();

            newAction._char = characterToAffect;
            newAction.renderLock_sorting = sortingLock;
            newAction.mapType            = SortingMapType.SortingLayer;
            newAction.sortingLayer       = newSortingLayer;

            newAction.renderLock_scale = scaleLock;
            newAction.scale            = newScale;

            newAction.renderLock_direction  = directionLock;
            newAction.direction             = newDirection;
            newAction.renderLock_sortingMap = sortingMapLock;
            newAction.sortingMap            = newSortingMap;

            return(newAction);
        }
コード例 #3
0
        public override void ShowGUI(List<ActionParameter> parameters)
        {
            isPlayer = EditorGUILayout.Toggle ("Is Player?", isPlayer);
            if (isPlayer)
            {
                if (Application.isPlaying)
                {
                    _char = KickStarter.player;
                }
                else
                {
                    _char = AdvGame.GetReferences ().settingsManager.GetDefaultPlayer ();
                }
            }
            else
            {
                parameterID = Action.ChooseParameterGUI ("Character:", parameters, parameterID, ParameterType.GameObject);
                if (parameterID >= 0)
                {
                    constantID = 0;
                    _char = null;
                }
                else
                {
                    _char = (Char) EditorGUILayout.ObjectField ("Character:", _char, typeof (Char), true);

                    constantID = FieldToID <Char> (_char, constantID);
                    _char = IDToField <Char> (_char, constantID, false);
                }
            }

            if (_char)
            {
                EditorGUILayout.Space ();
                renderLock_sorting = (RenderLock) EditorGUILayout.EnumPopup ("Sorting:", renderLock_sorting);
                if (renderLock_sorting == RenderLock.Set)
                {
                    mapType = (SortingMapType) EditorGUILayout.EnumPopup ("Sorting type:", mapType);
                    if (mapType == SortingMapType.OrderInLayer)
                    {
                        sortingOrder = EditorGUILayout.IntField ("New order:", sortingOrder);
                    }
                    else if (mapType == SortingMapType.SortingLayer)
                    {
                        sortingLayer = EditorGUILayout.TextField ("New layer:", sortingLayer);
                    }
                }

                if (_char.GetAnimEngine ())
                {
                    _char.GetAnimEngine ().ActionCharRenderGUI (this);
                }
            }
            else
            {
                EditorGUILayout.HelpBox ("This Action requires a Character before more options will show.", MessageType.Info);
            }

            EditorGUILayout.Space ();
            AfterRunningOption ();
        }
コード例 #4
0
        public override void ShowGUI(List <ActionParameter> parameters)
        {
            isPlayer = EditorGUILayout.Toggle("Is Player?", isPlayer);
            if (isPlayer)
            {
                if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow)
                {
                    parameterID = ChooseParameterGUI("Player ID:", parameters, parameterID, ParameterType.Integer);
                    if (parameterID < 0)
                    {
                        playerID = ChoosePlayerGUI(playerID, true);
                    }
                }

                if (KickStarter.settingsManager != null && KickStarter.settingsManager.playerSwitching == PlayerSwitching.Allow)
                {
                    if (parameterID < 0 && playerID >= 0)
                    {
                        PlayerPrefab playerPrefab = KickStarter.settingsManager.GetPlayerPrefab(playerID);
                        _char = (playerPrefab != null) ? playerPrefab.playerOb : null;
                    }
                    else
                    {
                        _char = KickStarter.settingsManager.GetDefaultPlayer();
                    }
                }
                else if (Application.isPlaying)
                {
                    _char = KickStarter.player;
                }
                else
                {
                    _char = KickStarter.settingsManager.GetDefaultPlayer();
                }
            }
            else
            {
                parameterID = Action.ChooseParameterGUI("Character:", parameters, parameterID, ParameterType.GameObject);
                if (parameterID >= 0)
                {
                    constantID = 0;
                    _char      = null;
                }
                else
                {
                    _char = (Char)EditorGUILayout.ObjectField("Character:", _char, typeof(Char), true);

                    constantID = FieldToID <Char> (_char, constantID);
                    _char      = IDToField <Char> (_char, constantID, false);
                }
            }

            if (_char)
            {
                EditorGUILayout.Space();
                renderLock_sorting = (RenderLock)EditorGUILayout.EnumPopup("Sorting:", renderLock_sorting);
                if (renderLock_sorting == RenderLock.Set)
                {
                    mapType = (SortingMapType)EditorGUILayout.EnumPopup("Sorting type:", mapType);
                    if (mapType == SortingMapType.OrderInLayer)
                    {
                        sortingOrderParameterID = Action.ChooseParameterGUI("New order:", parameters, sortingOrderParameterID, ParameterType.Integer);
                        if (sortingOrderParameterID < 0)
                        {
                            sortingOrder = EditorGUILayout.IntField("New order:", sortingOrder);
                        }
                    }
                    else if (mapType == SortingMapType.SortingLayer)
                    {
                        sortingLayerParameterID = Action.ChooseParameterGUI("New layer:", parameters, sortingLayerParameterID, ParameterType.String);
                        if (sortingLayerParameterID < 0)
                        {
                            sortingLayer = EditorGUILayout.TextField("New layer:", sortingLayer);
                        }
                    }
                }

                if (_char.GetAnimEngine())
                {
                    _char.GetAnimEngine().ActionCharRenderGUI(this, parameters);
                }
            }
            else
            {
                EditorGUILayout.HelpBox("This Action requires a Character before more options will show.", MessageType.Info);
            }

            EditorGUILayout.Space();
            AfterRunningOption();
        }
コード例 #5
0
ファイル: ActionCharRender.cs プロジェクト: IJkeB/Ekster1
        override public void ShowGUI(List <ActionParameter> parameters)
        {
            isPlayer = EditorGUILayout.Toggle("Is Player?", isPlayer);
            if (isPlayer)
            {
                if (Application.isPlaying)
                {
                    _char = KickStarter.player;
                }
                else
                {
                    _char = AdvGame.GetReferences().settingsManager.GetDefaultPlayer();
                }
            }
            else
            {
                parameterID = Action.ChooseParameterGUI("Character:", parameters, parameterID, ParameterType.GameObject);
                if (parameterID >= 0)
                {
                    constantID = 0;
                    _char      = null;
                }
                else
                {
                    _char = (Char)EditorGUILayout.ObjectField("Character:", _char, typeof(Char), true);

                    constantID = FieldToID <Char> (_char, constantID);
                    _char      = IDToField <Char> (_char, constantID, false);
                }
            }

            if (_char)
            {
                EditorGUILayout.Space();
                renderLock_sorting = (RenderLock)EditorGUILayout.EnumPopup("Sorting:", renderLock_sorting);
                if (renderLock_sorting == RenderLock.Set)
                {
                    mapType = (SortingMapType)EditorGUILayout.EnumPopup("Sorting type:", mapType);
                    if (mapType == SortingMapType.OrderInLayer)
                    {
                        sortingOrder = EditorGUILayout.IntField("New order:", sortingOrder);
                    }
                    else if (mapType == SortingMapType.SortingLayer)
                    {
                        sortingLayer = EditorGUILayout.TextField("New layer:", sortingLayer);
                    }
                }

                if (_char.animEngine == null)
                {
                    _char.ResetAnimationEngine();
                }
                if (_char.animEngine)
                {
                    _char.animEngine.ActionCharRenderGUI(this);
                }
            }
            else
            {
                EditorGUILayout.HelpBox("This Action requires a Character before more options will show.", MessageType.Info);
            }

            EditorGUILayout.Space();
            AfterRunningOption();
        }