/** * <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); }
/** * <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); }
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 (); }
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(); }
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(); }