public override void AssignConstantIDs(bool saveScriptsToo, bool fromAssetFile) { Shapeable obToUpdate = shapeObject; if (isPlayer && (KickStarter.settingsManager == null || KickStarter.settingsManager.playerSwitching == PlayerSwitching.DoNotAllow)) { if (!fromAssetFile) { Player charToUpdate = FindObjectOfType <Player> (); if (charToUpdate != null) { obToUpdate = charToUpdate.GetShapeable(); } } if (obToUpdate == null && AdvGame.GetReferences().settingsManager != null) { Player player = AdvGame.GetReferences().settingsManager.GetDefaultPlayer(); obToUpdate = player.GetShapeable(); } } if (saveScriptsToo) { AddSaveScript <RememberShapeable> (obToUpdate); } AssignConstantID <Shapeable> (obToUpdate, constantID, parameterID); }
public override void AssignValues(List <ActionParameter> parameters) { runtimeShapeObject = AssignFile <Shapeable> (parameters, parameterID, constantID, shapeObject); if (isPlayer) { Player player = AssignPlayer(playerID, parameters, playerParameterID); runtimeShapeObject = (player != null) ? player.GetShapeable() : null; } }
override public void AssignConstantIDs(bool saveScriptsToo, bool fromAssetFile) { Shapeable obToUpdate = shapeObject; if (isPlayer) { if (!fromAssetFile && GameObject.FindObjectOfType <Player>() != null) { obToUpdate = GameObject.FindObjectOfType <Player>().GetShapeable(); } if (obToUpdate == null && AdvGame.GetReferences().settingsManager != null) { Player player = AdvGame.GetReferences().settingsManager.GetDefaultPlayer(); obToUpdate = player.GetShapeable(); } } if (saveScriptsToo) { AddSaveScript <RememberShapeable> (obToUpdate); } AssignConstantID <Shapeable> (obToUpdate, constantID, parameterID); }
override public void ShowGUI(List <ActionParameter> parameters) { isPlayer = EditorGUILayout.Toggle("Is player?", isPlayer); if (!isPlayer) { parameterID = ChooseParameterGUI("Object:", parameters, parameterID, ParameterType.GameObject); if (parameterID >= 0) { constantID = 0; shapeObject = null; } else { shapeObject = (Shapeable)EditorGUILayout.ObjectField("Object:", shapeObject, typeof(Shapeable), true); constantID = FieldToID <Shapeable> (shapeObject, constantID); shapeObject = IDToField <Shapeable> (shapeObject, constantID, false); } } else { Player _player = null; if (Application.isPlaying) { _player = KickStarter.player; } else { _player = AdvGame.GetReferences().settingsManager.GetDefaultPlayer(); } if (_player != null && _player.GetShapeable()) { shapeObject = _player.GetShapeable(); } else { shapeObject = null; EditorGUILayout.HelpBox("Cannot find player with Shapeable script attached", MessageType.Warning); } } if (shapeObject != null && shapeObject.shapeGroups != null) { shapeGroupID = ActionBlendShape.ShapeableGroupGUI("Shape group:", shapeObject.shapeGroups, shapeGroupID); disableAllKeys = EditorGUILayout.Toggle("Disable all keys?", disableAllKeys); if (!disableAllKeys) { ShapeGroup _shapeGroup = shapeObject.GetGroup(shapeGroupID); if (_shapeGroup != null) { if (_shapeGroup.shapeKeys != null && _shapeGroup.shapeKeys.Count > 0) { shapeKeyID = ShapeableKeyGUI(_shapeGroup.shapeKeys, shapeKeyID); } else { EditorGUILayout.HelpBox("No shape keys found.", MessageType.Info); } } shapeValue = EditorGUILayout.Slider("New value:", shapeValue, 0f, 100f); } } else { EditorGUILayout.HelpBox("An object must be assigned before more options can show.", MessageType.Info); } fadeTime = EditorGUILayout.FloatField("Transition time:", fadeTime); if (fadeTime > 0f) { moveMethod = (MoveMethod)EditorGUILayout.EnumPopup("Move method:", moveMethod); if (moveMethod == MoveMethod.CustomCurve) { timeCurve = EditorGUILayout.CurveField("Time curve:", timeCurve); } willWait = EditorGUILayout.Toggle("Wait until finish?", willWait); } AfterRunningOption(); }