Inheritance: MonoBehaviour, IRagePixel
示例#1
0
 void Start()
 {
     Physics.gravity = new Vector3 (0f, -980f, 0f);
     initialPosition = transform.position;
     rage = GetComponent<RagePixelSprite> ();
     rage.PlayNamedAnimation("idle");
 }
示例#2
0
    static void CreateRagePixelSprite()
    {
        GameObject      newSpriteGO     = new GameObject();
        RagePixelSprite ragePixelSprite = (RagePixelSprite)newSpriteGO.AddComponent(typeof(RagePixelSprite));

        newSpriteGO.name = "New Sprite";
        if (SceneView.lastActiveSceneView != null)
        {
            if (SceneView.lastActiveSceneView.camera != null)
            {
                newSpriteGO.transform.position = SceneView.lastActiveSceneView.camera.transform.position;
                newSpriteGO.transform.position = new Vector3(newSpriteGO.transform.position.x, newSpriteGO.transform.position.y, 0f);
            }
        }

        bool found = false;

        foreach (Object obj in allAssets)
        {
            if (!found)
            {
                if (obj is RagePixelSpriteSheet && !obj.name.Equals("BasicFont"))
                {
                    ragePixelSprite.spriteSheet    = (RagePixelSpriteSheet)obj;
                    ragePixelSprite.currentRowKey  = ragePixelSprite.spriteSheet.rows[0].key;
                    ragePixelSprite.currentCellKey = ragePixelSprite.GetCurrentRow().cells[0].key;
                    found = true;
                }
            }
        }

        GameObject[] selection = new GameObject[1];
        selection[0]      = newSpriteGO;
        Selection.objects = selection;
    }
示例#3
0
 private IEnumerator WaitForAnimationAndDestroy(RagePixelSprite r)
 {
     while (r.isPlaying()) {
         yield return new WaitForSeconds(0.1f);
     }
     Destroy (gameObject);
 }
示例#4
0
 void Start()
 {
     rage = GetComponent<RagePixelSprite> ();
 }
    public override void OnInspectorGUI()
    {
        Transform t = (Transform)target;
        bool      useStandardTransformInspector = false;

        // Replicate the standard transform inspector gui
        if (t.gameObject.GetComponent(typeof(RagePixelSprite)))
        {
            bool            clicked         = false;
            RagePixelSprite ragePixelSprite = t.gameObject.GetComponent(typeof(RagePixelSprite)) as RagePixelSprite;

            if (ragePixelSprite.spriteSheet != null && !Application.isPlaying)
            {
                EditorGUIUtility.LookLikeControls();
                EditorGUI.indentLevel = 0;
                Vector3 position = EditorGUILayout.Vector2Field("Position", t.localPosition);

                //Vector3 eulerAngles = EditorGUILayout.Vector3Field("Rotation", t.localEulerAngles);

                Vector3 scale = new Vector3();
                if (ragePixelSprite.GetCurrentRow().newPixelSizeX != ragePixelSprite.GetCurrentRow().pixelSizeX || ragePixelSprite.GetCurrentRow().newPixelSizeY != ragePixelSprite.GetCurrentRow().pixelSizeY)
                {
                    GUI.color = Color.green;
                    EditorGUILayout.Vector2Field("Size (bitmap)", new Vector2(ragePixelSprite.GetCurrentRow().newPixelSizeX, ragePixelSprite.GetCurrentRow().newPixelSizeY));
                    GUI.color = Color.white;
                    scale     = new Vector2(ragePixelSprite.pixelSizeX, ragePixelSprite.pixelSizeY);
                }
                else
                {
                    scale = EditorGUILayout.Vector2Field("Size", new Vector2(ragePixelSprite.pixelSizeX, ragePixelSprite.pixelSizeY));
                }

                GUILayout.Label("Rotation");
                EditorGUILayout.BeginHorizontal();
                EditorGUI.indentLevel = 1;
                t.localEulerAngles    = new Vector3(0f, 0f, (int)EditorGUILayout.FloatField("Degrees", -t.localEulerAngles.z)) * -1f;
                EditorGUI.indentLevel = 0;
                EditorGUILayout.EndHorizontal();

                EditorGUILayout.Space();

                GUILayout.BeginHorizontal();
                GUILayout.Label("Layer ");
                ragePixelSprite.ZLayer = EditorGUILayout.IntField(ragePixelSprite.ZLayer, GUILayout.Width(30));
                if (GUILayout.Button("Forward"))
                {
                    ragePixelSprite.ZLayer--;
                    clicked = true;
                }
                if (GUILayout.Button("Backward"))
                {
                    ragePixelSprite.ZLayer++;
                    clicked = true;
                }

                GUILayout.EndHorizontal();
                position.z = ragePixelSprite.ZLayer;
                GUILayout.Space(5f);

                EditorGUIUtility.LookLikeInspector();

                if (GUI.changed || clicked)
                {
                    Undo.RegisterUndo(t, "Transform Change");

                    t.localPosition             = FixIfNaN(position);
                    ragePixelSprite.pixelSizeX  = Mathf.RoundToInt(FixIfNaN(scale).x);
                    ragePixelSprite.pixelSizeY  = Mathf.RoundToInt(FixIfNaN(scale).y);
                    ragePixelSprite.meshIsDirty = true;
                    ragePixelSprite.refreshMesh();
                }
            }
            else
            {
                useStandardTransformInspector = true;
            }
        }
        else
        {
            useStandardTransformInspector = true;
        }

        if (useStandardTransformInspector)
        {
            EditorGUIUtility.LookLikeControls();
            EditorGUI.indentLevel = 0;
            Vector3 position    = EditorGUILayout.Vector3Field("Position", t.localPosition);
            Vector3 eulerAngles = EditorGUILayout.Vector3Field("Rotation", t.localEulerAngles);
            Vector3 scale       = EditorGUILayout.Vector3Field("Scale", t.localScale);
            EditorGUIUtility.LookLikeInspector();

            if (GUI.changed)
            {
                Undo.RegisterUndo(t, "Transform Change");

                t.localPosition    = FixIfNaN(position);
                t.localEulerAngles = FixIfNaN(eulerAngles);
                t.localScale       = FixIfNaN(scale);
            }
        }
    }
示例#6
0
 void Start()
 {
     rage = GetComponent<RagePixelSprite> ();
     rage.SetTintColor (ColorUtils.RandomColor ());
     originalSize = transform.localScale;
 }
示例#7
0
 // Use this for initialization
 void Start()
 {
     rage = GetComponent<RagePixelSprite> ();
     rage.SetTintColor(ColorUtils.RandomColor());
 }