Пример #1
0
    // Use this for initialization
    void Start()
    {
        float verticalSize   = Camera.main.orthographicSize * 2.0f;
        float horizontalSize = verticalSize * Screen.width / Screen.height;

        GameObject rock = GameObject.Find ("Rock");
        MapGeneratorInternal generator = new MapGeneratorInternal (new Vector2(horizontalSize, verticalSize));

        for (int i = 0; i < 10000; i++) {
            generator.Generate ();
        }

        Rect center1 = new Rect ();
        Rect center2 = new Rect ();
        Rect center3 = new Rect ();

        center1.Set (horizontalSize / 2, 0, horizontalSize / 100, verticalSize);
        center2.Set (0, verticalSize / 2, horizontalSize, verticalSize / 100);
        center2.Set (horizontalSize * 0.45f, verticalSize * 0.45f, horizontalSize * 0.10f, verticalSize * 0.10f);

        foreach(var rect in generator.Rects){
            if(Random.Range(0,2) != 0)
                continue;

            if(rect.Overlaps(center1) || rect.Overlaps(center2))
                continue;

            Vector3 center = new Vector3(rect.x + rect.width/2 - horizontalSize/2, rect.y + rect.height / 2-verticalSize/2);
            GameObject rock2 = Instantiate (rock, center, Quaternion.identity) as GameObject;
            PolyMesh a = rock2.GetComponent<PolyMesh> ();

            a.makeUnique ();

            a.keyPoints.Clear ();
            a.isCurve.Clear ();

            a.keyPoints.Add(new Vector3(-rect.width/2, -rect.height/2));
            a.keyPoints.Add(new Vector3(rect.width/2, -rect.height/2));
            a.keyPoints.Add(new Vector3(rect.width/2, rect.height/2));
            a.keyPoints.Add(new Vector3(-rect.width/2, rect.height/2));

            for(int i =0; i< a.keyPoints.Count; i++)
                a.isCurve.Add(false);

            a.BuildMesh ();

        }
    }
Пример #2
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        EditorGUI.BeginProperty(position, label, property);

        //get data
        SerializedProperty axisX = property.FindPropertyRelative("axisX");
        SerializedProperty axisY = property.FindPropertyRelative("axisY");
        SerializedProperty axisZ = property.FindPropertyRelative("axisZ");

        position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);

        float width = position.width;
        width /= 4.0f;
        position.Set(position.x, position.y, width, position.height);

        GUIContent labelAxis = new GUIContent("X");
        EditorGUIUtility.labelWidth = GUI.skin.label.CalcSize(labelAxis).x*3;
        axisX.boolValue = EditorGUI.Toggle(position, labelAxis, axisX.boolValue);
        position.x += width;

        labelAxis = new GUIContent("Y");
        axisY.boolValue = EditorGUI.Toggle(position, labelAxis, axisY.boolValue);
        position.x += width;

        labelAxis = new GUIContent("Z");
        axisZ.boolValue = EditorGUI.Toggle(position, labelAxis, axisZ.boolValue);

        EditorGUI.EndProperty();
    }
Пример #3
0
    public static Rect CaculateInteractiveRect( Rect r1, Rect r2 )
    {
        Rect result = new Rect(r1);

        if( result.xMin < r2.xMin )
        {
            result.xMin = r2.xMin;
        }
        if( result.yMin < r2.yMin )
        {
            result.yMin = r2.yMin;
        }
        if( result.xMax > r2.xMax )
        {
            result.xMax = r2.xMax;
        }
        if( result.yMax > r2.yMax )
        {
            result.yMax = r2.yMax;
        }

        if( result.width < 0 || result.height < 0 )
        {
            result.Set(0,0,0,0);
        }

        return result;
    }
Пример #4
0
 void OnGUI()
 {
     Rect rect = new Rect(0, 0, 200, 20);
     GUI.Label(rect, "Mesh Vertex Count: " + vertexCount);
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
     GUI.Label(rect, "Mesh Triangle Count: " + triangleCount);
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
     GUI.Label(rect, "Mesh Count: " + objPool.Count);
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
     GUI.Label(rect, "Total Vertex Count: " + vertexCount * objPool.Count);
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
     GUI.Label(rect, "Total Triangle Count: " + triangleCount * objPool.Count);
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
     if (GUI.Button(rect, "Add Obj"))
     {
         GameObject newObj = GameObject.Instantiate(obj) as GameObject;
         newObj.transform.parent = root;
         newObj.transform.localPosition = new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), Random.Range(0f, 1f));
         objPool.Add(newObj);
     }
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
     if (GUI.Button(rect, "Run Static Batch"))
     {
         StaticBatchingUtility.Combine(root.gameObject);
     }
     rect.Set(rect.xMin, rect.yMin + 20, rect.width, rect.height);
 }
Пример #5
0
 public Node(Vector2 dimension, Vector2 position)
 {
     Rectangle = new Rect (position, dimension);
     Rectangle.Set ((int)Rectangle.xMin, (int)Rectangle.yMin, (int)Rectangle.width, (int)Rectangle.height);
     LeftChild = null;
     RightChild = null;
     Room = null;
     Level = 0;
 }
Пример #6
0
    public static void DrawCrossHair(SelectionType mode)
    {
        int cursorSizeX = 5;
        int cursorSizeY = 5;
        Color col = Color.green;
        Color tra = new Color(0.0f, 0.0f, 0.0f, 0.0f);

        // Initialize crosshair texture
        Texture2D tex = new Texture2D(cursorSizeX, cursorSizeY);
        for (int x = 0; x < cursorSizeX; x++) {
            for (int y = 0; y < cursorSizeY; y++) {
                if (x == 2 || y == 2)
                    tex.SetPixel(x, y, col);
                else
                    tex.SetPixel(x, y, tra);
            }
        }
        tex.SetPixel(2, 2, col);
        tex.Apply();

        // Determine where to draw crosshair
        Rect finalPos = new Rect();
        switch(mode) {
        case SelectionType.MIDDLE_SCREEN:
            finalPos.Set(
                (Screen.width/2) - (cursorSizeX/2),
                (Screen.height/2) - (cursorSizeY/2),
                cursorSizeX,
                cursorSizeY
                );
            break;
        case SelectionType.MOUSE:
            finalPos.Set(
                Event.current.mousePosition.x - (cursorSizeX/2),
                Event.current.mousePosition.y - (cursorSizeY/2),
                cursorSizeX,
                cursorSizeY
                );
            break;
        }

        // Draw crosshair
        GUI.DrawTexture (finalPos, tex);
    }
Пример #7
0
        public static Rect GetCameraBounds(Camera _camera, float _tolerance = 5)
        {
            Rect _rct = new Rect(0, 0, 0, 0);

            Vector3 upperLeft = _camera.ViewportToWorldPoint(new Vector3(0, 0, _camera.farClipPlane));
            Vector3 lowerRight = _camera.ViewportToWorldPoint(new Vector3(1, 1, _camera.farClipPlane));
            _rct.Set(upperLeft.x - _tolerance, upperLeft.y - _tolerance, lowerRight.x - upperLeft.x + _tolerance * 2, lowerRight.y - upperLeft.y + _tolerance * 2);

            return _rct;
        }
Пример #8
0
 void OnGUI()
 {
     if (!finished)
     {
       Rect moveRect = new Rect((Screen.width - 300) - 25, Screen.height * 0.5f, 300, 30);
       GUI.Label(moveRect, "Shadow's Name:");
       moveRect.Set(moveRect.left, moveRect.top + 30, moveRect.width, moveRect.height);
       shadowsName = GUI.TextField(moveRect, shadowsName, 28);
       moveRect.Set(moveRect.left, moveRect.top + 45, moveRect.width, moveRect.height);
       GUI.Label(moveRect, "Your Name:");
       moveRect.Set(moveRect.left, moveRect.top + 30, moveRect.width, moveRect.height);
       yourName = GUI.TextField(moveRect, yourName, 28);
       moveRect.Set(moveRect.left, moveRect.top + 45, moveRect.width, moveRect.height);
       if (GUI.Button(moveRect, "Submit to Hall of Shadows"))
       {
     ShadowSerializer.SerializeMyShadow(shadowContoller.toyContainer);
     StartCoroutine(ShadowSerializer.Submit(shadowsName, yourName, HALL_OF_SHADOWS));
     finished = true;
       }
       moveRect.Set(moveRect.left, moveRect.top + 45, moveRect.width, moveRect.height);
       if (GUI.Button(moveRect, "Don't Submit (But Finish)"))
       {
     ShadowSerializer.SerializeMyShadow(shadowContoller.toyContainer);
     Application.LoadLevel(HALL_OF_SHADOWS);
       }
       moveRect.Set(moveRect.left, moveRect.top + 45, moveRect.width, moveRect.height);
       if (GUI.Button(moveRect, "Continue Working on Shadow"))
       {
     shadowContoller.CancelZoom();
       }
     }
 }
Пример #9
0
    static bool Rect_Set__Single__Single__Single__Single(JSVCall vc, int argc)
    {
        int len = argc;

        if (len == 4)
        {
            System.Single    arg0    = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg);
            System.Single    arg1    = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg);
            System.Single    arg2    = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg);
            System.Single    arg3    = (System.Single)JSApi.getSingle((int)JSApi.GetType.Arg);
            UnityEngine.Rect argThis = (UnityEngine.Rect)vc.csObj;        argThis.Set(arg0, arg1, arg2, arg3);
            JSMgr.changeJSObj(vc.jsObjID, argThis);
        }

        return(true);
    }
Пример #10
0
 static int QPYX_Set_YXQP(IntPtr L_YXQP)
 {
     try
     {
         ToLua.CheckArgsCount(L_YXQP, 5);
         UnityEngine.Rect QPYX_obj_YXQP  = (UnityEngine.Rect)ToLua.CheckObject(L_YXQP, 1, typeof(UnityEngine.Rect));
         float            QPYX_arg0_YXQP = (float)LuaDLL.luaL_checknumber(L_YXQP, 2);
         float            QPYX_arg1_YXQP = (float)LuaDLL.luaL_checknumber(L_YXQP, 3);
         float            QPYX_arg2_YXQP = (float)LuaDLL.luaL_checknumber(L_YXQP, 4);
         float            QPYX_arg3_YXQP = (float)LuaDLL.luaL_checknumber(L_YXQP, 5);
         QPYX_obj_YXQP.Set(QPYX_arg0_YXQP, QPYX_arg1_YXQP, QPYX_arg2_YXQP, QPYX_arg3_YXQP);
         ToLua.SetBack(L_YXQP, 1, QPYX_obj_YXQP);
         return(0);
     }
     catch (Exception e_YXQP)                {
         return(LuaDLL.toluaL_exception(L_YXQP, e_YXQP));
     }
 }
Пример #11
0
 static int Set(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 5);
         UnityEngine.Rect obj  = (UnityEngine.Rect)ToLua.CheckObject(L, 1, typeof(UnityEngine.Rect));
         float            arg0 = (float)LuaDLL.luaL_checknumber(L, 2);
         float            arg1 = (float)LuaDLL.luaL_checknumber(L, 3);
         float            arg2 = (float)LuaDLL.luaL_checknumber(L, 4);
         float            arg3 = (float)LuaDLL.luaL_checknumber(L, 5);
         obj.Set(arg0, arg1, arg2, arg3);
         ToLua.SetBack(L, 1, obj);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Пример #12
0
 static public int Set(IntPtr l)
 {
     try{
         UnityEngine.Rect self = (UnityEngine.Rect)checkSelf(l);
         System.Single    a1;
         checkType(l, 2, out a1);
         System.Single a2;
         checkType(l, 3, out a2);
         System.Single a3;
         checkType(l, 4, out a3);
         System.Single a4;
         checkType(l, 5, out a4);
         self.Set(a1, a2, a3, a4);
         setBack(l, self);
         return(0);
     }
     catch (Exception e) {
         LuaDLL.luaL_error(l, e.ToString());
         return(0);
     }
 }
 public static tk2dSpriteCollectionData CreateFromTexture(GameObject parentObject, Texture texture, tk2dSpriteCollectionSize size, Vector2 textureDimensions, string[] names, Rect[] regions, Rect[] trimRects, Vector2[] anchors, bool[] rotated)
 {
     tk2dSpriteCollectionData data = ((parentObject == null) ? new GameObject("SpriteCollection") : parentObject).AddComponent<tk2dSpriteCollectionData>();
     data.Transient = true;
     data.version = 3;
     data.invOrthoSize = 1f / size.OrthoSize;
     data.halfTargetHeight = size.TargetHeight * 0.5f;
     data.premultipliedAlpha = false;
     string name = "tk2d_custom/BlendVertexColorWithMask";
     data.material = new Material(Shader.Find(name));
     data.material.mainTexture = texture;
     data.materials = new Material[] { data.material };
     data.textures = new Texture[] { texture };
     data.buildKey = UnityEngine.Random.Range(0, 0x7fffffff);
     float scale = (2f * size.OrthoSize) / size.TargetHeight;
     Rect trimRect = new Rect(0f, 0f, 0f, 0f);
     data.spriteDefinitions = new tk2dSpriteDefinition[regions.Length];
     for (int i = 0; i < regions.Length; i++)
     {
         bool flag = (rotated != null) && rotated[i];
         if (trimRects != null)
         {
             trimRect = trimRects[i];
         }
         else if (flag)
         {
             trimRect.Set(0f, 0f, regions[i].height, regions[i].width);
         }
         else
         {
             trimRect.Set(0f, 0f, regions[i].width, regions[i].height);
         }
         data.spriteDefinitions[i] = CreateDefinitionForRegionInTexture(names[i], textureDimensions, scale, regions[i], trimRect, anchors[i], flag);
     }
     foreach (tk2dSpriteDefinition definition in data.spriteDefinitions)
     {
         definition.material = data.material;
     }
     return data;
 }
Пример #14
0
	void UpdateTransform()
	{
		// Break out if anchor camera is not bound
		if (AnchorCamera == null) {
			return;
		}

		float pixelScale = 1; // size of one pixel
		Vector3 position = myTransform.localPosition;

		// we're ignoring perspective tk2dCameras for now
		tk2dCamera = (AnchorTk2dCamera != null && AnchorTk2dCamera.CameraSettings.projection != tk2dCameraSettings.ProjectionType.Perspective) ? AnchorTk2dCamera : null;

		Rect rect = new Rect();
		if (tk2dCamera != null) {
			rect = anchorToNativeBounds ? tk2dCamera.NativeScreenExtents : tk2dCamera.ScreenExtents;
			pixelScale = tk2dCamera.GetSizeAtDistance( 1 ); 
		}
		else {
			rect.Set(0, 0, AnchorCamera.pixelWidth, AnchorCamera.pixelHeight);
		}

		float y_bot = rect.yMin;
		float y_top = rect.yMax;
		float y_ctr = (y_bot + y_top) * 0.5f;

		float x_lhs = rect.xMin;
		float x_rhs = rect.xMax;
		float x_ctr = (x_lhs + x_rhs) * 0.5f;

		Vector3 anchoredPosition = Vector3.zero;

		switch (AnchorPoint)
		{
		case tk2dBaseSprite.Anchor.UpperLeft: 		anchoredPosition = new Vector3(x_lhs, y_top, position.z); break;
		case tk2dBaseSprite.Anchor.UpperCenter: 	anchoredPosition = new Vector3(x_ctr, y_top, position.z); break;
		case tk2dBaseSprite.Anchor.UpperRight: 		anchoredPosition = new Vector3(x_rhs, y_top, position.z); break;
		case tk2dBaseSprite.Anchor.MiddleLeft: 		anchoredPosition = new Vector3(x_lhs, y_ctr, position.z); break;
		case tk2dBaseSprite.Anchor.MiddleCenter:	anchoredPosition = new Vector3(x_ctr, y_ctr, position.z); break;
		case tk2dBaseSprite.Anchor.MiddleRight: 	anchoredPosition = new Vector3(x_rhs, y_ctr, position.z); break;
		case tk2dBaseSprite.Anchor.LowerLeft: 		anchoredPosition = new Vector3(x_lhs, y_bot, position.z); break;
		case tk2dBaseSprite.Anchor.LowerCenter: 	anchoredPosition = new Vector3(x_ctr, y_bot, position.z); break;
		case tk2dBaseSprite.Anchor.LowerRight: 		anchoredPosition = new Vector3(x_rhs, y_bot, position.z); break;
		}
		
		Vector3 screenAnchoredPosition = anchoredPosition + new Vector3(pixelScale * offset.x, pixelScale * offset.y, 0);
		if (tk2dCamera == null) { // not a tk2dCamera, we need to transform
			Vector3 worldAnchoredPosition = AnchorCamera.ScreenToWorldPoint( screenAnchoredPosition );
			if (myTransform.position != worldAnchoredPosition) {
				myTransform.position = worldAnchoredPosition;
			}
		}
		else {
			Vector3 oldPosition = myTransform.localPosition;
			if (oldPosition != screenAnchoredPosition) {
				myTransform.localPosition = screenAnchoredPosition;
			}
		}
	}
Пример #15
0
        void OnGUI()
        {
            if(Event.current.type == EventType.mouseMove)
            {
                float y = Event.current.mousePosition.y - interval * 3 - buttonHeight;
                int nowHover = y < 0 ? -1 : (int)(y / lineHeight);
                if(nowHover != hover)
                {
                    hover = nowHover;
                    Repaint();
                }
            }
            else
            {
                Rect rect = new Rect(interval, interval, (size.x - 3 * interval) * 0.5f, buttonHeight);
                if (GUI.Button(rect, "Nothing")) mask = 0;

                rect.x += rect.width + interval;
                if (GUI.Button(rect, "Everything")) mask = ~0;

                rect.Set(0, rect.yMax + interval, size.x, 1);
                EditorGUI.DrawRect(rect, borderColor);

                rect.Set(interval, rect.y + interval, size.x - interval, lineHeight);
                int count = 0;

                for (int i = 0; i < 32; i++)
                {
                    if (layerNames[i] != null)
                    {
                        if (hover == count)
                        {
                            rect.xMin = 0;
                            EditorGUI.DrawRect(rect, hoverColor);
                            rect.xMin = interval;
                        }
                        mask = mask.SetBit(i, GUI.Toggle(rect, mask.GetBit(i), layerNames[i]));
                        GUI.Label(rect, i.ToString(), rightAlign);

                        rect.y += lineHeight;
                        count++;
                    }
                }

                rect.Set(0, 0, size.x, size.y);
                EditorKit.DrawWireRect(rect, borderColor, 1);
            }
        }
    //--------


        private void addModsSlider(int winID)
         {
            int mod_num = mp.KeyCount;
            Rect baseRect = pv.InsideRect(this.winRect);
            Rect headerRect = new Rect(baseRect.x, baseRect.y, baseRect.width, pv.Line("H3"));
            Rect scrollRect = new Rect(baseRect.x, baseRect.y + headerRect.height + pv.Margin
                                      ,baseRect.width + pv.PropPx(5), baseRect.height - headerRect.height - pv.Margin);
            Rect conRect = new Rect(0, 0 ,scrollRect.width - pv.Sys_("HScrollBar.Width") - pv.Margin , 0);
            Rect outRect = new Rect();
            GUIStyle lStyle = "label";
            GUIStyle tStyle = "toggle";
            Color color = new Color(1f, 1f, 1f, 0.98f);

            for (int i=0; i<mod_num; i++) 
            {
                string key = mp.sKey[i];

                if (mp.CantDisable.Contains(key)) mp.bEnabled[key] = true;
                if (checkWS(key)) mp.bEnabled[key] = false;

                conRect.height += pv.Line("H1");
                if(mp.sType[key] != "toggle" && mp.bEnabled[key])
                { 
                    for (int j=0; j<mp.ValCount(key); j++) conRect.height += pv.Line("H1");
                    conRect.height += pv.Margin * 2;
                }
                else conRect.height += pv.Margin;
            }

            lStyle.normal.textColor = color;
            tStyle.normal.textColor = color;
            lStyle.fontSize = pv.Font("H3");
            drawWinHeader(headerRect, "Mods Slider", lStyle);

            // スクロールビュー
            scrollViewVector = GUI.BeginScrollView(scrollRect, scrollViewVector, conRect);

            // 各modスライダー
            outRect.Set(0, 0, conRect.width, 0);
            for (int i=0; i<mod_num; i++)
            {
                string key = mp.sKey[i];

                //----
                outRect.width = conRect.width;
                outRect.height  = pv.Line("H1");
                color = (mp.bEnabled[key]) ? new Vector4(1f, 1f, 1f, 0.98f) : new Vector4(0.8f, 0.8f, 0.8f, 0.8f);
                lStyle.normal.textColor = color;
                tStyle.normal.textColor = color;
                
                if (mp.CantDisable.Contains(key) || checkWS(key))  // ON/OFFフラグの無いmodとWIDESLIDER無効化状態でのWS必須modはトグル非表示
                {
                    string s = mp.sDescription[key]+" ("+key+")";
                    lStyle.fontSize = pv.Font("H1");
                    if (checkWS(key))
                    {
                        s = "WIDESLIDER必須:" + s;
                        lStyle.normal.textColor = new Vector4(0.8f, 0.1f, 0.1f, 0.9f);

                    }
                    GUI.Label(outRect, s, lStyle);
                }
                else
                {
                    tStyle.fontSize = pv.Font("H1");
                    mp.bEnabled[key] = GUI.Toggle(outRect, mp.bEnabled[key], mp.sDescription[key]+" ("+key+")", tStyle);
                }
                outRect.y += outRect.height;

                if (mp.sType[key] == "toggle" || !mp.bEnabled[key]) 
                {
                    outRect.y += pv.Margin;
                    continue;
                }
                //----

                int val_num = mp.ValCount(key);
                for (int j=0; j<val_num; j++)
                {
                    string prop = mp.sPropName[key][j];
                    
                    float value = mp.fValue[key][prop];
                    float vmin = mp.fVmin[key][prop];
                    float vmax = mp.fVmax[key][prop];
                    string label = mp.sLabel[key][prop] +" : "+ value.ToString("F");
                    string vType = mp.sVType[key][prop];

                    outRect.width = conRect.width;
                    outRect.height  = pv.Line("H1");
                    lStyle.fontSize = pv.Font("H1");
                    if (value < vmin) value = vmin;
                    if (value > vmax) value = vmax;
                    if (vType == "scale" && vmin < 1f)
                    {
                        if (vmin < 0f) vmin = 0f;
                        if (value < 0f) value = 0f;

                        float tmpmin = -Mathf.Abs(vmax - 1f);
                        float tmpmax = Mathf.Abs(vmax - 1f);
                        float tmp = (value < 1f) ? tmp = Mathf.Abs((1f-value)/(1f-vmin)) * tmpmin : value - 1f;

                        if(tmp < tmpmin) tmp = tmpmin;
                        if(tmp > tmpmax) tmp = tmpmax;

                        tmp = drawModValueSlider(outRect, tmp, tmpmin, tmpmax, label, lStyle);

                        mp.fValue[key][prop] = (tmp < 0f) ? 1f - tmp/tmpmin * Mathf.Abs(1f-vmin) : 1f + tmp;
                    }
                    else if (vType == "int") 
                    {
                        value = (int)Mathf.Round(value);
                        mp.fValue[key][prop] = (int)Mathf.Round(drawModValueSlider(outRect, value, vmin, vmax, label, lStyle));
                    }
                    else mp.fValue[key][prop] = drawModValueSlider(outRect, value, vmin, vmax, label, lStyle);

                    outRect.y += outRect.height;
                }

                outRect.y += pv.Margin * 2;
            }

            GUI.EndScrollView();
            GUI.DragWindow();
            
            if (GUI.changed || !oneLoad) setExSaveData();
        }
Пример #17
0
    /// <summary>
    /// Draws the player health readout.
    /// </summary>
    void drawPlayerHealthReadout()
    {
        if(playerController.wasPlayerHit){
            playerHealthbarWidth -= healthScaleRemovalValue;
        }

                        Rect healthBarRect = new Rect (screenWidth - playerHealthbarWidth, screenHeight - playerHealthbarHeight, playerHealthbarWidth, playerHealthbarHeight);
                        Rect healthBarLabelRect = new Rect (screenWidth - defaultPlayerHealthbarWidth, screenHeight - playerHealthbarHeight, defaultPlayerHealthbarWidth, playerHealthbarHeight);
                        GUI.DrawTexture (healthBarRect, playerHealthbar, ScaleMode.StretchToFill, true, 0.0f);
                        healthBarRect.Set (healthBarRect.x, healthBarRect.y, healthBarRect.width, healthBarRect.height);
                        GUI.Label (healthBarLabelRect, "Health", boxGUIStyle);
                playerController.setWasPlayerHit(false);
    }
Пример #18
0
    /// <summary>
    /// Draws the warp menu.
    /// </summary>
    /// <param name="originPosition">Origin position.</param>
    void drawWarpMenu(Rect originPosition)
    {
        originPosition.Set (originPosition.x + defaultButtonWidth, originPosition.y, defaultButtonWidth, defaultButtonHeight);
                // This will warp the player to the home base scene
                if (GUI.Button (originPosition, levelName)) {
                        Application.LoadLevel (levelName);

                }
    }
Пример #19
0
    /// <summary>
    /// Draws the resources readout.
    /// </summary>
    void drawResourcesReadout()
    {
        // Make a background box for the container "Resources", this displays stats, resources, thats about it
                //This will display the read out of current resources collected by the player//Index – ResouceName
                //1 – Aluminum
                //2 – Copper
                //3 – Diamond
                //4 – Gold
                //		5 – Hydrogen
                //		6 – Iron
                //		7 – Lead
                //		8 – Platinum
                //		9 – Unobtanium
                //		10- Uranium
                //		0 – Asteroid

                drawAGUIBox (new Rect ((screenWidth / 2) - ((defaultButtonWidth * 3) / 2), 10, (defaultButtonWidth * 3), screenHeight), "Inventory");
                //asteroid, Iron, copper, Aluminum, Hydrogen tier 1
                Rect originRect = new Rect ((screenWidth / 2) - ((defaultButtonWidth * 3) / 2), 10, defaultButtonWidth, defaultButtonHeight);
                Rect originalOriginRect = new Rect (originRect.x, originRect.y, defaultButtonWidth, defaultButtonHeight);
                //Tier 1
                originRect.Set (originRect.x + 10, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 1, "Asteroid", asteroidIcon, 0);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 1, "Iron", ironIcon, 6);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 1, "Copper", copperIcon, 2);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 1, "Aluminum", alumIcon, 1);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 1, "Hydrogen", hydrogenIcon, 5);

                //Tier 2
                originRect.Set (originalOriginRect.x + defaultButtonWidth, originalOriginRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 2, "Platinum", platIcon, 8);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 2, "Gold", goldIcon, 4);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 2, "Lead", leadIcon, 7);

                //Tier 3
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 3, "Uranium", uranIcon, 10);
                originRect.Set (originRect.x, originRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 3, "Diamond", diamondIcon, 3);
                //Tier 4
                originRect.Set (originalOriginRect.x + (defaultButtonWidth * 2), originalOriginRect.y + (asteroidIcon.height / 2), defaultButtonWidth, defaultButtonHeight);
                drawAResource (originRect, 4, "Unobtainium", unobtainIcon, 9);
    }
Пример #20
0
    void doTheSprites(GameObject[] obj) {
        Texture2D texture = null;
        GameObject bg = GameObject.FindGameObjectWithTag("Background");
        SpriteRenderer bgRender = null;
        bgRender = bg.GetComponent<SpriteRenderer>();

        switch (rando) {
            case 0:
                texture = texture1;
                bgRender.sprite = bg1;
                break;
            case 1:
                texture = texture2;
                bgRender.sprite = bg2;
                break;
            case 2:
                texture = texture3;
                bgRender.sprite = bg3;
                break;
            case 3:
                texture = texture4;
                bgRender.sprite = bg4;
                break;
        }

        foreach (GameObject g in obj) {
            Rect textureRect = new Rect(0f,0f,16f,16f);
            float originX = textureRect.x;
            float originY = textureRect.y;
            float newX = originX;
            float newY = originY;

            SpriteRenderer spriteR = (SpriteRenderer)g.GetComponent<Renderer>();
            Transform trans = (Transform)g.GetComponent<Transform>();
            Vector3 pos = trans.position;

            int blockinfo = 0;
            Collider2D[] surrounding = Physics2D.OverlapAreaAll(new Vector2(pos.x-1, pos.y-1), new Vector2(pos.x+1,pos.y+1));
            foreach (Collider2D col in surrounding) {
                if (col.tag == "Ground") {
                    //block directly above
                    if (col.transform.position.x == pos.x && col.transform.position.y > pos.y) {
                        blockinfo |= ABOVE;
                        //Debug.Log("Block above");
                    }
                    //block directly to right
                    if (col.transform.position.x > pos.x && col.transform.position.y == pos.y) {
                        blockinfo |= RIGHT;
                        //Debug.Log("Block to right");
                    }
                    //block directly to left
                    if (col.transform.position.x < pos.x && col.transform.position.y == pos.y) {
                        blockinfo |= LEFT;
                        //Debug.Log("Block to left");
                    }
                    //block directly below
                    if (col.transform.position.x == pos.x && col.transform.position.y < pos.y) {
                        blockinfo |= BELOW;
                        //Debug.Log("Block below");
                    }
                }
            }

            if(((blockinfo & LEFT) != 0) && ((blockinfo & ABOVE) != 0) && ((blockinfo & RIGHT) != 0)) {
                //set the rectangle's x coordinate to the sprite for bottom blocks
                newX = originX + 16f + 1;
                if((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }
            if(((blockinfo & LEFT) != 0) && ((blockinfo & ABOVE) == 0) && ((blockinfo & RIGHT) == 0)) {
                //set x coordinate to sprite for block with nothing above or to the right (a block that is top right)
                newX = originX + 32f + 2;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }
            if(((blockinfo & LEFT) == 0) && ((blockinfo & ABOVE) == 0) && ((blockinfo & RIGHT) != 0)) {
                //set x coordinate to sprite for block that is top left
                newX = originX + 48f + 3;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }
            if(((blockinfo & LEFT) == 0) && ((blockinfo & ABOVE) != 0) && ((blockinfo & RIGHT) != 0)) {
                //set x coordinate to sprite for block that is mid/bottom left
                newX = originX + 64f + 4;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }
            if(((blockinfo & LEFT) != 0) && ((blockinfo & ABOVE) != 0) && ((blockinfo & RIGHT) == 0)) {
                //set x coordinate to sprite for block that is mid/bottom right
                newX = originX + 80f + 5;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }
            if(((blockinfo & LEFT) == 0) && ((blockinfo & ABOVE) == 0) && ((blockinfo & RIGHT) == 0)) {
                //set x coordinate to sprite for block that is alone
                newX = originX + 96f + 6;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }
            if (((blockinfo & LEFT) == 0) && ((blockinfo & ABOVE) != 0) && ((blockinfo & RIGHT) == 0))
            {
                //set x coordinate to sprite for block that is only covered on top
                newX = originX + 112 + 7;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }

            if(((blockinfo & LEFT) != 0) && ((blockinfo & ABOVE) == 0) && ((blockinfo & RIGHT) != 0)) {
                //set x coordinate to default sprite
                newX = originX;
                if ((blockinfo & BELOW) != 0)
                {
                    newY = originY + 16f + 1;
                }
            }

            
            textureRect.Set(newX, newY, textureRect.width, textureRect.height);
            spriteR.sprite = Sprite.Create(texture, textureRect, new Vector2(0.5f, 0.5f), 15);
            spriteR.color = Color.white;
        }

        done = true;
	}
        public static tk2dSpriteCollectionData CreateFromTexture(
			Texture texture,
			SpriteCollectionSize size,
			Vector2 textureDimensions,
			string[] names,
			Rect[] regions,
			Rect[] trimRects, Vector2[] anchors,
			bool[] rotated)
        {
            GameObject go = new GameObject("SpriteCollection");
            tk2dSpriteCollectionData sc = go.AddComponent<tk2dSpriteCollectionData>();
            sc.Transient = true;
            sc.version = tk2dSpriteCollectionData.CURRENT_VERSION;

            sc.invOrthoSize = 1.0f / size.orthoSize;
            sc.halfTargetHeight = size.targetHeight * 0.5f;
            sc.premultipliedAlpha = false;

            string shaderName = "tk2d/BlendVertexColor";

            #if UNITY_EDITOR
            {
                Shader ts = Shader.Find(shaderName);
                string assetPath = UnityEditor.AssetDatabase.GetAssetPath(ts);
                if (assetPath.ToLower().IndexOf("/resources/") == -1) {
                    UnityEditor.EditorUtility.DisplayDialog("tk2dRuntimeSpriteCollection Error",
                        "The tk2d/BlendVertexColor shader needs to be in a resources folder for this to work.\n\n" +
                        "Create a subdirectory named 'resources' where the shaders are, and move the BlendVertexColor shader into this directory.\n\n"+
                        "eg. TK2DROOT/tk2d/Shaders/Resources/BlendVertexColor\n\n" +
                        "Be sure to do this from within Unity and not from Explorer/Finder.",
                        "Ok");
                    return null;
                }
            }
            #endif

            sc.material = new Material(Shader.Find(shaderName));
            sc.material.mainTexture = texture;
            sc.materials = new Material[1] { sc.material };
            sc.textures = new Texture[1] { texture };
            sc.buildKey = UnityEngine.Random.Range(0, Int32.MaxValue);

            float scale = 2.0f * size.orthoSize / size.targetHeight;
            Rect trimRect = new Rect(0, 0, 0, 0);

            // Generate geometry
            sc.spriteDefinitions = new tk2dSpriteDefinition[regions.Length];
            for (int i = 0; i < regions.Length; ++i) {
                bool defRotated = (rotated != null) ? rotated[i] : false;
                if (trimRects != null) {
                    trimRect = trimRects[i];
                }
                else {
                    if (defRotated) trimRect.Set( 0, 0, regions[i].height, regions[i].width );
                    else trimRect.Set( 0, 0, regions[i].width, regions[i].height );
                }
                sc.spriteDefinitions[i] = CreateDefinitionForRegionInTexture(names[i], textureDimensions, scale, regions[i], trimRect, anchors[i], defRotated);
            }

            foreach (var def in sc.spriteDefinitions) {
                def.material = sc.material;
            }

            return sc;
        }
Пример #22
0
	// 8 draggable points around the border (resizing)
	public static Rect RectControl( int controlId, Rect r, Transform t ) {
		Event ev = Event.current;

		// Break out if vertex modifier is active
		if (IsSnapToVertexActive()) {
			return r;
		}

		bool guiChanged = false;
		GUIStyle style = tk2dEditorSkin.MoveHandle;

		Vector2 rSign = new Vector2(Mathf.Sign (r.width), Mathf.Sign (r.height));
		r = PositiveRect(r);

		constrainRectTemp = r;
		constrainRectMatrixTemp = t.localToWorldMatrix;
		
		Vector3[] localPts = new Vector3[] {
			new Vector3(r.xMin + r.width * 0.0f, r.yMin + r.height * 0.0f, 0),
			new Vector3(r.xMin + r.width * 0.5f, r.yMin + r.height * 0.0f, 0),
			new Vector3(r.xMin + r.width * 1.0f, r.yMin + r.height * 0.0f, 0),
			new Vector3(r.xMin + r.width * 0.0f, r.yMin + r.height * 0.5f, 0),
			new Vector3(r.xMin + r.width * 1.0f, r.yMin + r.height * 0.5f, 0),
			new Vector3(r.xMin + r.width * 0.0f, r.yMin + r.height * 1.0f, 0),
			new Vector3(r.xMin + r.width * 0.5f, r.yMin + r.height * 1.0f, 0),
			new Vector3(r.xMin + r.width * 1.0f, r.yMin + r.height * 1.0f, 0),
		};

		Vector3[] worldPts = new Vector3[8];
		Vector2[] guiPts = new Vector2[8];
		bool[] handleVisible = new bool[8];
		for (int i = 0; i < 8; ++i) {
			worldPts[i] = t.TransformPoint(localPts[i]);
			guiPts[i] = HandleUtility.WorldToGUIPoint(worldPts[i]);
			handleVisible[i] = true;
		}

		// Hide handles if screen distance gets too small
		{
			float edgeLengthBottom = (guiPts[0] - guiPts[2]).magnitude;
			float edgeLengthTop = (guiPts[5] - guiPts[7]).magnitude;
			float edgeLengthLeft = (guiPts[0] - guiPts[5]).magnitude;
			float edgeLengthRight = (guiPts[2] - guiPts[7]).magnitude;
			if (edgeLengthBottom < handleClosenessClip || edgeLengthTop < handleClosenessClip ||
				edgeLengthLeft < handleClosenessClip || edgeLengthRight < handleClosenessClip)
			{
				for (int i = 0; i < 8; ++i) {
					handleVisible[i] = false;
				}
			}
			else {
				if (edgeLengthBottom < 2.0f * handleClosenessClip || edgeLengthTop < 2.0f * handleClosenessClip) {
					handleVisible[1] = handleVisible[6] = false;
				}
				if (edgeLengthLeft < 2.0f * handleClosenessClip || edgeLengthRight < 2.0f * handleClosenessClip) {
					handleVisible[3] = handleVisible[4] = false;
				}
			}
		}
		
		Vector2[] handleCursorN = new Vector2[] {
			new Vector2(-1.0f, -1.0f), new Vector2(0.0f, -1.0f), new Vector2(1.0f, -1.0f),
			new Vector2(-1.0f, 0.0f), new Vector2(1.0f, 0.0f),
			new Vector2(-1.0f, 1.0f), new Vector2(0.0f, 1.0f), new Vector2(1.0f, 1.0f)
		};
		
		for (int i = 0; i < 8; ++i) {
			if ((Event.current.type == EventType.Repaint || Event.current.type == EventType.MouseDown) && !handleVisible[i]) continue;

			Vector3 worldPt = worldPts[i];
			MouseCursor cursor = GetHandleCursor(handleCursorN[i], t);
			
			EditorGUI.BeginChangeCheck();
			Vector3 newWorldPt = MoveHandle( controlId + t.GetInstanceID() + "Handle".GetHashCode() + i, worldPt, t.forward, style, cursor );
			if (EditorGUI.EndChangeCheck()) {
				Vector3 localPt = ev.shift ? constrainRectMatrix.inverse.MultiplyPoint(newWorldPt) : t.InverseTransformPoint(newWorldPt);
				Vector3 v0 = new Vector3(r.xMin, r.yMin, 0);
				Vector3 v1 = v0 + new Vector3(r.width, r.height, 0);
				
				// constrain axis
				if (i == 3 || i == 4) localPt.y = localPts[i].y;
				if (i == 1 || i == 6) localPt.x = localPts[i].x;
				
				// calculate new extrema
				if (!ev.shift) {
					if (i == 0 || i == 3 || i == 5) v0.x = Mathf.Min(v1.x, localPt.x);
					if (i == 0 || i == 1 || i == 2) v0.y = Mathf.Min(v1.y, localPt.y);
					if (i == 2 || i == 4 || i == 7) v1.x = Mathf.Max(v0.x, localPt.x);
					if (i == 5 || i == 6 || i == 7) v1.y = Mathf.Max(v0.y, localPt.y);
				} else {
					// constrain proportions
					v0 = new Vector3(constrainRect.xMin, constrainRect.yMin, 0);
					v1 = v0 + new Vector3(constrainRect.width, constrainRect.height, 0);
					if (i == 0 || i == 3 || i == 5) {
						v0.x = Mathf.Min(v1.x, localPt.x);
						float sy0 = (i == 0) ? 1.0f : ((i == 3) ? 0.5f : 0.0f);
						float dy = constrainRect.height * ((v1.x - v0.x) / constrainRect.width - 1.0f);
						v0.y -= dy * sy0;
						v1.y += dy * (1.0f - sy0);
					}
					if (i == 2 || i == 4 || i == 7) {
						v1.x = Mathf.Max(v0.x, localPt.x);
						float sy0 = (i == 2) ? 1.0f : ((i == 4) ? 0.5f : 0.0f);
						float dy = constrainRect.height * ((v1.x - v0.x) / constrainRect.width - 1.0f);
						v0.y -= dy * sy0;
						v1.y += dy * (1.0f - sy0);
					}
					if (i == 1 || i == 6) {
						if (i == 1) v0.y = Mathf.Min(v1.y, localPt.y);
						else v1.y = Mathf.Max(v0.y, localPt.y);
						float dx = constrainRect.width * ((v1.y - v0.y) / constrainRect.height - 1.0f);
						v0.x -= dx * 0.5f;
						v1.x += dx * 0.5f;
					}

					v0 = constrainRectMatrix.MultiplyPoint(v0);
					v1 = constrainRectMatrix.MultiplyPoint(v1);
					v0 = t.InverseTransformPoint(v0);
					v1 = t.InverseTransformPoint(v1);
				}
				
				guiChanged = true;
				r.Set(v0.x, v0.y, v1.x - v0.x, v1.y - v0.y);
				HandleUtility.Repaint();
			}
		}
		
		if (guiChanged) {
			GUI.changed = true;
		}

		if (rSign.x < 0.0f) r = new Rect(r.xMax, r.yMin, -r.width, r.height);
		if (rSign.y < 0.0f) r = new Rect(r.xMin, r.yMax, r.width, -r.height);
		return r;
	}
        public static tk2dSpriteCollectionData CreateFromTexturePacker(tk2dSpriteCollectionSize spriteCollectionSize, string texturePackerFileContents, Texture texture)
        {
            List<string> list = new List<string>();
            List<Rect> list2 = new List<Rect>();
            List<Rect> list3 = new List<Rect>();
            List<Vector2> list4 = new List<Vector2>();
            List<bool> list5 = new List<bool>();
            int num = 0;
            TextReader reader = new StringReader(texturePackerFileContents);
            bool item = false;
            bool flag2 = false;
            string str = string.Empty;
            Rect rect = new Rect();
            Rect rect2 = new Rect();
            Vector2 zero = Vector2.zero;
            Vector2 vector2 = Vector2.zero;
            for (string str2 = reader.ReadLine(); str2 != null; str2 = reader.ReadLine())
            {
                char ch;
                char ch2;
                if (str2.Length > 0)
                {
                    ch = str2[0];
                    switch (num)
                    {
                        case 0:
                            ch2 = ch;
                            switch (ch2)
                            {
                                case 'h':
                                    goto Label_00DE;

                                case 'i':
                                {
                                    continue;
                                }
                            }
                            if (ch2 == 'w')
                            {
                                zero.x = int.Parse(str2.Substring(2));
                            }
                            else if (ch2 == '~')
                            {
                                goto Label_00F8;
                            }
                            break;

                        case 1:
                            goto Label_0108;
                    }
                }
                continue;
            Label_00DE:
                zero.y = int.Parse(str2.Substring(2));
                continue;
            Label_00F8:
                num++;
                continue;
            Label_0108:
                ch2 = ch;
                switch (ch2)
                {
                    case 'n':
                    {
                        str = str2.Substring(2);
                        continue;
                    }
                    case 'o':
                    {
                        string[] strArray2 = str2.Split(new char[0]);
                        rect2.Set((float) int.Parse(strArray2[1]), (float) int.Parse(strArray2[2]), (float) int.Parse(strArray2[3]), (float) int.Parse(strArray2[4]));
                        flag2 = true;
                        continue;
                    }
                    case 'r':
                    {
                        item = int.Parse(str2.Substring(2)) == 1;
                        continue;
                    }
                    case 's':
                    {
                        string[] strArray = str2.Split(new char[0]);
                        rect.Set((float) int.Parse(strArray[1]), (float) int.Parse(strArray[2]), (float) int.Parse(strArray[3]), (float) int.Parse(strArray[4]));
                        continue;
                    }
                }
                if (ch2 == '~')
                {
                    list.Add(str);
                    list5.Add(item);
                    list2.Add(rect);
                    if (!flag2)
                    {
                        if (item)
                        {
                            rect2.Set(0f, 0f, rect.height, rect.width);
                        }
                        else
                        {
                            rect2.Set(0f, 0f, rect.width, rect.height);
                        }
                    }
                    list3.Add(rect2);
                    vector2.Set((float) ((int) (rect2.width / 2f)), (float) ((int) (rect2.height / 2f)));
                    list4.Add(vector2);
                    str = string.Empty;
                    flag2 = false;
                    item = false;
                }
            }
            return CreateFromTexture(texture, spriteCollectionSize, zero, list.ToArray(), list2.ToArray(), list3.ToArray(), list4.ToArray(), list5.ToArray());
        }
        void showRooms(int x, int y,int w, int h )
        {
            // each room field //
            int pos_x=0,pos_y=0;
            int eachWidth = 300; int eachHeight = 140;
            int offSet_x=5,offSet_y = 5;
            Rect roomRect;

            //for(int i = 0; i<6; ++i)
            //	rooms[i] = new Room(i, "asd", null, user );

            //GUILayout.BeginArea(new Rect(x,y,w,h));
            GUIStyle roomBoxStyle = new GUIStyle("box");
            roomBoxStyle.imagePosition = new ImagePosition();
            GUIStyle roomLabelStyle = new GUIStyle("BoldOutlineText");
            roomLabelStyle.fontSize = 20;
            roomLabelStyle.alignment = TextAnchor.MiddleCenter;

            int i;
            for( i=0; i<rooms.Length; i++)
            {
                if( rooms[i] == null )
                    continue;

                //if( i%2==0 && i!=0)
                //{
                //	pos_x=0; pos_y += eachHeight+offSet_y;
                //}
                pos_x = x + offSet_x + (offSet_x+eachWidth)*(i%2);
                pos_y = y + offSet_y + (offSet_y+eachHeight)*(i/2);

                roomRect = new Rect(pos_x,pos_y,eachWidth,eachHeight);

                if( GUI.Button( roomRect, "", roomBoxStyle ) )
                {
                    byte[] packet = new byte[2+4];

                    PacketWriter.write(packet, 0, PacketType_CS.RequestJoinRoom);//2
                    PacketWriter.write(packet, 2, rooms[i].getId());
                    networkManager.write( packet );
                }

                GUI.Box( roomRect, "" );

                roomRect.Set(pos_x+10, pos_y+10, 150, 30);
                GUI.Label( roomRect, rooms[i].getRoomName() );

                roomRect.Set(pos_x+20, pos_y+50, 130, 30);
                GUI.Label( roomRect, rooms[i].getMap().getName(), roomLabelStyle );

                roomRect.Set(pos_x+20, pos_y+90, 130, 30);
                GUI.Label( roomRect, rooms[i].getUserCount() + "/20", roomLabelStyle );

                roomRect.Set(pos_x+170, pos_y+10, 120, 120);
                GUI.DrawTexture( roomRect, rooms[i].getMap().getThumbnailImage() );

                //test (roomRect);
                //pos_x += eachWidth+offSet_x;
            }
            //GUILayout.EndArea();

            GUI.Label( new Rect(x+255, 585, 100, 30), (roomPage+1).ToString() );

            if( roomPage > 0 )
            {
                if( GUI.Button(new Rect(x+160, 585, 100, 30), "<<") )
                {
                    roomPage--;
                }
            }

            int maxPage = (totalNumberOfRoom-1) / 6;
            if( roomPage < maxPage )
            {
                if( GUI.Button(new Rect(x+350, 585, 100, 30), ">>") )
                {
                    roomPage++;
                }
            }
        }
Пример #25
0
    public override void Draw()
    {
        if (!Visible) {
            return;
        }

        Rect r = new Rect(CalculatedScreenPosition.x,
                          CalculatedScreenPosition.y,
                          _texture.width * _textureScale.x,
                          _texture.height * _textureScale.y);

        bool flipped = _screenPosition.x > 600;

        if(flipped) {
            r.Set(r.x - 315, r.y, r.width, r.height);
            GUI.DrawTexture(r, _tooltipFlipped);
        }
        else {
            GUI.DrawTexture(r, _tooltipNormal);
        }

        GUI.color = new Color (1, 1, 1, alpha);

        GUI.skin = _skin;

        if(flipped) {
            _skin.label.alignment = TextAnchor.UpperRight;
        } else {
            _skin.label.alignment = TextAnchor.UpperLeft;
        }

        float x = CalculatedScreenPosition.x + 10;
        float y = CalculatedScreenPosition.y + 22;

        GUI.color = new Color (1, 1, 1, alpha);
        GUI.Label (new Rect (x + 25 + (flipped ? -315 : 0), y - 16, 230, 500), _bodyText);
        if(Event.current.type == EventType.Repaint)
            Visible = false;
    }
Пример #26
0
    /// <summary>
    /// Draws the home base upgrade menu.
    /// </summary>
    /// <param name="originPosition">Origin position.</param>
    void drawHomeBaseUpgradeMenu(Rect originPosition)
    {
        Rect previousOriginPosition = new Rect (originPosition.x, originPosition.y, originPosition.width, originPosition.height);

                originPosition.Set (originPosition.x + defaultButtonWidth, originPosition.y, defaultButtonWidth, defaultButtonHeight);
                if (isDrawingTier1) {
                        drawHomeBaseUpgrades (originPosition, 1);
                }
                if (GUI.Button (originPosition, "Tier One")) {
                        isDrawingTier1 = true;
                        isDrawingTier2 = false;
                        isDrawingTier3 = false;
                        isDrawingTier4 = false;
                        tierOnePosition.Set (originPosition.x, originPosition.y, originPosition.width, originPosition.height);
                }

                originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                if (isDrawingTier2) {
                        drawHomeBaseUpgrades (originPosition, 2);
                }

                if (GUI.Button (originPosition, "Tier Two")) {
                        isDrawingTier1 = false;
                        isDrawingTier2 = true;
                        isDrawingTier3 = false;
                        isDrawingTier4 = false;
                        tierTwoPosition.Set (originPosition.x, originPosition.y, originPosition.width, originPosition.height);
                }

                originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                if (isDrawingTier3) {
                        drawHomeBaseUpgrades (originPosition, 3);
                }

                if (GUI.Button (originPosition, "Tier Three")) {
                        isDrawingTier1 = false;
                        isDrawingTier2 = false;
                        isDrawingTier3 = true;
                        isDrawingTier4 = false;
                        tierThreePosition.Set (originPosition.x, originPosition.y, originPosition.width, originPosition.height);
                }

                originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                if (isDrawingTier4) {
                        drawHomeBaseUpgrades (originPosition, 4);
                }

                if (GUI.Button (originPosition, "Tier Four")) {
                        isDrawingTier1 = false;
                        isDrawingTier2 = false;
                        isDrawingTier3 = false;
                        isDrawingTier4 = true;
                        tierFourPosition.Set (originPosition.x, originPosition.y, originPosition.width, originPosition.height);
                }
    }
    private void UpdateTransform()
    {
        if (this.AnchorCamera != null)
        {
            float sizeAtDistance = 1f;
            Vector3 localPosition = this.myTransform.localPosition;
            tk2dCamera camera = ((this.AnchorTk2dCamera == null) || (this.AnchorTk2dCamera.CameraSettings.projection == tk2dCameraSettings.ProjectionType.Perspective)) ? null : this.AnchorTk2dCamera;
            Rect rect = new Rect();
            if (camera != null)
            {
                rect = !this.anchorToNativeBounds ? camera.ScreenExtents : camera.NativeScreenExtents;
                sizeAtDistance = camera.GetSizeAtDistance(1f);
            }
            else
            {
                rect.Set(0f, 0f, this.AnchorCamera.pixelWidth, this.AnchorCamera.pixelHeight);
            }
            float yMin = rect.yMin;
            float yMax = rect.yMax;
            float y = (yMin + yMax) * 0.5f;
            float xMin = rect.xMin;
            float xMax = rect.xMax;
            float x = (xMin + xMax) * 0.5f;
            Vector3 zero = Vector3.zero;
            switch (this.AnchorPoint)
            {
                case tk2dBaseSprite.Anchor.LowerLeft:
                    zero = new Vector3(xMin, yMin, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.LowerCenter:
                    zero = new Vector3(x, yMin, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.LowerRight:
                    zero = new Vector3(xMax, yMin, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.MiddleLeft:
                    zero = new Vector3(xMin, y, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.MiddleCenter:
                    zero = new Vector3(x, y, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.MiddleRight:
                    zero = new Vector3(xMax, y, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.UpperLeft:
                    zero = new Vector3(xMin, yMax, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.UpperCenter:
                    zero = new Vector3(x, yMax, localPosition.z);
                    break;

                case tk2dBaseSprite.Anchor.UpperRight:
                    zero = new Vector3(xMax, yMax, localPosition.z);
                    break;
            }
            Vector3 position = zero + new Vector3(sizeAtDistance * this.offset.x, sizeAtDistance * this.offset.y, 0f);
            if (camera == null)
            {
                Vector3 vector4 = this.AnchorCamera.ScreenToWorldPoint(position);
                if (this.myTransform.position != vector4)
                {
                    this.myTransform.position = vector4;
                }
            }
            else if (this.myTransform.localPosition != position)
            {
                this.myTransform.localPosition = position;
            }
        }
    }
Пример #28
0
    /// <summary>
    /// Draws the load menu.
    /// </summary>
    /// <param name="originPosition">Origin position.</param>
    void drawLoadMenu(Rect originPosition)
    {
        //originPosition.
                //TODO: load in the current saves
                originPosition.Set (originPosition.x + defaultButtonWidth, originPosition.y, defaultButtonWidth, defaultButtonHeight);
                // This will warp the player to the home base scene
                //how many saves determine how many buttons there are
                if (GUI.Button (originPosition, "Save 1")) {
                        //Application.LoadLevel ("HomeBase");

                }
    }
Пример #29
0
    void windowFunction(int windowID)
    {
        Layer[] layers = LayerManager.Layers.ToArray();

        scrollViewVector = GUI.BeginScrollView(layerSelectorRect, scrollViewVector, new Rect(layerSelectorRect.x, layerSelectorRect.y, layerSelectorRect.width, layers.Length*(30 + PADDING) + 20));

        Rect position = new Rect();
        for (int i = 0; i < layers.Length; i++) {
            position.Set (PADDING, i*30 + i*PADDING + 20, layerSelectorRect.width - 30 - PADDING*5, 30);
            if (GUI.Button(position, LayerManager.Layers.ElementAt(i).Name)) {
                toggleLayer(i);
            }
            position.Set (position.x + position.width + PADDING, position.y, 30, 30);
            fillTexture(colorTex, new Color(layers[i].Color.r, layers[i].Color.g, layers[i].Color.b, 1f), (BoxManager.DisplayLayer & (1 << i)) == 0);
            GUI.Box(position, colorTex);
        }

        GUI.EndScrollView();
    }
Пример #30
0
    /// <summary>
    /// Draws the upgrade menu.
    /// </summary>
    /// <param name="originPosition">Origin position.</param>
    void drawUpgradeMenu(Rect originPosition)
    {
        GameObject player = GameObject.Find ("Player2");

                Rect previousOriginPosition = new Rect (originPosition.x, originPosition.y, originPosition.width, originPosition.height);

                originPosition.Set (originPosition.x + defaultButtonWidth, originPosition.y, defaultButtonWidth, defaultButtonHeight);

                //GUI.Label (new Rect (tierOneRightColumnXPos, (bufferSize * 2), defaultButtonWidth, defaultButtonHeight), "Offense", boxGUIStyle);
                if (GUI.Button (originPosition, "Blaster Power")) {
                        if (player.GetComponent<PlayerCenter> ().incBlasterPower ()) {
                                Debug.Log ("Upgrade purchased!");
                                // Purchase was successful
                        } else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                        }
                }
                originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                if (GUI.Button (originPosition, "More Blasters")) {
                        if (player.GetComponent<PlayerCenter> ().incNumBlasters ()) {
                                // Purchase was successful
                        } else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                        }
                }
                //originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                //if (GUI.Button (originPosition, "Homing Missiles")) {
                //		if (player.GetComponent<PlayerCenter> ().incMissilePower ()) {
                                // Purchase was successful
                //		} else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                //		}
                //}

                originPosition = new Rect (previousOriginPosition.x + (defaultButtonWidth * 2), previousOriginPosition.y, previousOriginPosition.width, previousOriginPosition.height);
                //GUI.Label (new Rect (tierTwoRightColumnXPos, (bufferSize * 2), defaultButtonWidth, defaultButtonHeight), "Defense", boxGUIStyle);
                if (GUI.Button (originPosition, "Hull Strength")) {
                        if (player.GetComponent<PlayerCenter> ().incHullStrength ()) {
                                Debug.Log ("Upgrade purchased!");
                                // Purchase was successful
                        } else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                        }
                }
                //originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                //if (GUI.Button (originPosition, "Shields")) {
                //		if (player.GetComponent<PlayerCenter> ().incShieldPower ()) {
                //				Debug.Log ("Upgrade purchased!");
                                // Purchase was successful
                //		} else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                //		}
                //}
                originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                if (GUI.Button (originPosition, "Regen")) {
                        if (player.GetComponent<PlayerCenter> ().incHullRegen ()) {
                                Debug.Log ("Upgrade purchased!");
                                // Purchase was successful
                        } else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                        }
                }

                originPosition = new Rect (previousOriginPosition.x + (defaultButtonWidth * 2), previousOriginPosition.y, previousOriginPosition.width, previousOriginPosition.height);
                originPosition.Set (originPosition.x + defaultButtonWidth, originPosition.y, defaultButtonWidth, defaultButtonHeight);
                //GUI.Label (new Rect (tierThreeRightColumnXPos, (bufferSize * 2), defaultButtonWidth, defaultButtonHeight), "Utility", boxGUIStyle);
                if (GUI.Button (originPosition, "Flight Speed")) {
                        if (player.GetComponent<PlayerCenter> ().incMovementLevel ()) {
                                Debug.Log ("Upgrade purchased!");
                                // Purchase was successful
                        } else {
                                // Purchase was not successful (max upgrade level reached, not enough resources)
                        }
                }
                //Commented out, not wanted
                //originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                //if (GUI.Button (originPosition, "Radar")) {
                //	if(player.GetComponent<PlayerCenter> ().incRadarLevel ()){
                //		Debug.Log("Upgrade purchased!");
                // Purchase was successful
                //	} else {
                // Purchase was not successful (max upgrade level reached, not enough resources)
                //	}
                //}
                //originPosition.Set (originPosition.x, originPosition.y + defaultButtonHeight, defaultButtonWidth, defaultButtonHeight);
                //if (GUI.Button (originPosition, "Resource Magnet")) {
                //	if(player.GetComponent<PlayerCenter> ().incResourceMagnet ()){
                //		Debug.Log("Upgrade purchased!");
                // Purchase was successful
                //	} else {
                // Purchase was not successful (max upgrade level reached, not enough resources)
                //	}
                //}
    }
Пример #31
0
    // Use this for initialization
    void Start()
    {
        m_menuGroup = new Rect();
        m_menuGroup.Set(Screen.width-260,0,260,Screen.height);

        m_grassCurTex = (Texture2D) GameObject.Find("grassGround").GetComponent<Renderer>().material.GetTexture("_MainTex");
        _matTexMenu = new GUIItemV2 (0, 0, "Material", "sousMenuOn", "sousMenuOff", this);
        _matTexList = new GUIUpperList (1, 0, TextManager.GetText("material"), "sousMenuOn", "sousMenuOff", this);

        _matTexMenu.addSubItem (_matTexList);
        enabled = false;
    }
    /// <summary>
    ///   Handles the split window stuff, somewhat bodgily
    /// </summary>
    private void ResizeTopPane()
    {
        //Set up the resize collision rect
        CursorChangeRect = new Rect(0, CurrentTopPaneHeight, position.width, DividerHeight);

        var oldColor = GUI.color;
        GUI.color = SizerLineColour;
        GUI.DrawTexture(CursorChangeRect, EditorGUIUtility.whiteTexture);
        GUI.color = oldColor;
        EditorGUIUtility.AddCursorRect(CursorChangeRect,MouseCursor.ResizeVertical);

        if( Event.current.type == EventType.mouseDown && CursorChangeRect.Contains(Event.current.mousePosition))
        {
            Resize = true;
        }

        //If we've resized, store the new size and force a repaint
        if(Resize)
        {
            CurrentTopPaneHeight = Event.current.mousePosition.y;
            CursorChangeRect.Set(CursorChangeRect.x,CurrentTopPaneHeight,CursorChangeRect.width,CursorChangeRect.height);
            Repaint();
        }

        if(Event.current.type == EventType.MouseUp)
            Resize = false;

        CurrentTopPaneHeight = Mathf.Clamp(CurrentTopPaneHeight, 100, position.height-100);
    }
        // Texture packer import
        public static tk2dSpriteCollectionData CreateFromTexturePacker( tk2dRuntime.SpriteCollectionSize spriteCollectionSize, string texturePackerFileContents, Texture texture )
        {
            List<string> names = new List<string>();
            List<Rect> rects = new List<Rect>();
            List<Rect> trimRects = new List<Rect>();
            List<Vector2> anchors = new List<Vector2>();
            List<bool> rotated = new List<bool>();

            int state = 0;
            System.IO.TextReader tr = new System.IO.StringReader(texturePackerFileContents);

            // tmp state
            bool entryRotated = false;
            bool entryTrimmed = false;
            string entryName = "";
            Rect entryRect = new Rect();
            Rect entryTrimData = new Rect();
            Vector2 textureDimensions = Vector2.zero;
            Vector2 anchor = Vector2.zero;

            // gonna write a non-allocating parser for this one day.
            // all these substrings & splits can't be good
            // but should be a tiny bit better than an xml / json parser...
            string line = tr.ReadLine();
            while (line != null) {
                if (line.Length > 0) {
                    char cmd = line[0];
                    switch (state) {
                        case 0: {
                            switch (cmd) {
                                case 'i': break; // ignore version field for now
                                case 'w': textureDimensions.x = Int32.Parse(line.Substring(2)); break;
                                case 'h': textureDimensions.y = Int32.Parse(line.Substring(2)); break;
                                // total number of sprites would be ideal to statically allocate
                                case '~': state++; break;
                            }
                        }
                        break;

                        case 1: {
                            switch (cmd) {
                                case 'n': entryName = line.Substring(2); break;
                                case 'r': entryRotated = Int32.Parse(line.Substring(2)) == 1; break;
                                case 's': { // sprite
                                    string[] tokens = line.Split();
                                    entryRect.Set( Int32.Parse(tokens[1]), Int32.Parse(tokens[2]), Int32.Parse(tokens[3]), Int32.Parse(tokens[4]) );
                                }
                                break;
                                case 'o': { // origin
                                    string[] tokens = line.Split();
                                    entryTrimData.Set( Int32.Parse(tokens[1]), Int32.Parse(tokens[2]), Int32.Parse(tokens[3]), Int32.Parse(tokens[4]) );
                                    entryTrimmed = true;
                                }
                                break;
                                case '~': {
                                    names.Add(entryName);
                                    rotated.Add(entryRotated);
                                    rects.Add(entryRect);
                                    if (!entryTrimmed) {
                                        // The entryRect dimensions will be the wrong way around if the sprite is rotated
                                        if (entryRotated) entryTrimData.Set(0, 0, entryRect.height, entryRect.width);
                                        else entryTrimData.Set(0, 0, entryRect.width, entryRect.height);
                                    }
                                    trimRects.Add(entryTrimData);
                                    anchor.Set( (int)(entryTrimData.width / 2), (int)(entryTrimData.height / 2) );
                                    anchors.Add( anchor );
                                    entryName = "";
                                    entryTrimmed = false;
                                    entryRotated = false;
                                }
                                break;
                            }
                        }
                        break;
                    }
                }
                line = tr.ReadLine();
            }

            return CreateFromTexture(
                texture,
                spriteCollectionSize,
                textureDimensions,
                names.ToArray(),
                rects.ToArray(),
                trimRects.ToArray(),
                anchors.ToArray(),
                rotated.ToArray() );
        }
Пример #34
0
    /// <summary>
    /// Draws the home base upgrades.
    /// </summary>
    /// <param name="originPosition">Origin position.</param>
    /// <param name="tierLevel">Tier level.</param>
    void drawHomeBaseUpgrades(Rect originPosition, int tierLevel)
    {
        originPosition.Set (originPosition.x + defaultButtonWidth, originPosition.y, defaultButtonWidth, defaultButtonHeight);
                foreach (BaseUpgradeObject item in listOfBaseUpgradeObjects) {
                        if (item.tierLevel == tierLevel) {
                                if (GUI.Button (originPosition, "Tier" + tierLevel + " " + item.upgradeName)) {
                                        if (tierLevel == 1 && item.upgradeName.Equals ("Auto Turret")) {
                                                //TODO: create methoid that will attemp to buy a item, give it item tier and item name
                                                Debug.Log ("you are trying to buy a tier 1 auto turret");
                                        }

                                }
                                originPosition.Set (originPosition.x, originPosition.y + originPosition.height, defaultButtonWidth, defaultButtonHeight);
                        }
                }
    }