示例#1
0
    //오버로딩 생성함수 (불러올프리팹 , y위치 , 부모)
    private void CreateTile(int number, int ySum, GameObject parented)
    {
        RaycastHit hit;

        if (Physics.Raycast(pickingTileTr.position, pickingTileTr.up, out hit))
        {
            if (hit.transform.tag == "Tile")
            {
                Debug.Log("타일위에 객체가 존재함");
                if (number == 4)
                {
                    Vector3    pos  = new Vector3(tiled.transform.position.x, tiled.transform.position.y + 1, tiled.transform.position.z);
                    GameObject tile = Instantiate(cubePrefab[number], pos, Quaternion.identity);
                    Tiled      cube = tile.GetComponent <Tiled>();
                    //벽 생성이후 예외 처리
                    tiled.mr.material     = tiled.mat;
                    tile.transform.parent = parented.transform; //부모정해주기
                    cube.arry             = tiled.arry;
                }
            }
        }
        else
        {
            Vector3    pos  = new Vector3(tiled.transform.position.x, tiled.transform.position.y + ySum, tiled.transform.position.z);
            GameObject tile = Instantiate(cubePrefab[number], pos, Quaternion.identity);
            Tiled      cube = tile.GetComponent <Tiled>();
            //벽 생성이후 예외 처리
            tiled.mr.material     = tiled.mat;
            tile.transform.parent = parented.transform; //부모정해주기
            cube.arry             = tiled.arry;
        }
    }
示例#2
0
 //벽삭제
 private void DestroyWall()
 {
     if (pickingTileTr != null)
     {
         if (chk_MouseORKey == 1)
         {
             if (tiled.Values == 1 || tiled.Values == 4)
             {
                 Destroy(pickingTileTr.gameObject);
                 //삭제이후 미싱이 되어버리니 예외처리
                 pickingTileTr = null;
                 tiled         = null;
             }
             else
             {
                 Debug.Log("바닥은 삭제불가능");
                 return;
             }
         }
         else if (chk_MouseORKey == 2)
         {
             RayInput_Object_Destroy();
         }
     }
     RayInput_Object_Destroy();
 }
示例#3
0
    //타일 교체
    private void ChageTile(int value)
    {
        if (pickingTileTr != null)
        {
            Vector3    pos  = tiled.transform.position;
            GameObject tile = Instantiate(cubePrefab[value], pos, Quaternion.identity);
            Tiled      cube = tile.GetComponent <Tiled>();
            switch (value)
            {
            case 0:
                tile.transform.parent = p_Sheet.transform;     //p_Sheet
                break;

            case 1:
                tile.transform.parent = p_Wall.transform;     //p_Wall
                break;

            case 2:
                tile.transform.parent = p_Start.transform;     //p_Start
                break;

            case 3:
                tile.transform.parent = p_End.transform;     //p_End
                break;
            }
            Destroy(pickingTileTr.gameObject);
            pickingTileTr = null;

            tiled = null;
        }
    }
示例#4
0
    //마우스 입력시 레이케스트로 마우스 포지션으로 잡은 객체 값담는 함수
    private void RayInput_Mouse()
    {
        chk_MouseORKey = 1;
        //이미 담겨져있는 오브젝트가 있을때 다음 히트로 옮겨지기전에 기존걸 초기화 시켜주는 로직
        if (pickingTileTr != null)
        {
            tiled.mr.material = tiled.mat;
        }

        //레이케스트가 바라본 방향의 객체를 선택해서 오브젝트를 선택해주는 로직
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit))
        {
            if (hit.transform.tag == "Tile")
            {
                //Debug.Log("히트 : " + hit.transform.name);
                if (hit.collider != null) //히트가 낫널일때 허공을찍엇거나 레이가 히트하는 대상이 없을때를 예외처리
                {
                    pickingTileTr = hit.transform;
                    tiled         = hit.transform.GetComponent <Tiled>();
                }
                tiled.mr.material = materials[0];
            }
        }
    }
示例#5
0
    public override void OnInspectorGUI()
    {
        obj = target as Tiled;
        base.OnInspectorGUI();

        /*GUILayout.BeginHorizontal();
         * obj.fillOptions.left = GUILayout.Toggle(obj.fillOptions.left, "Left");
         * obj.fillOptions.rigth = GUILayout.Toggle(obj.fillOptions.rigth, "Rigth");
         * obj.fillOptions.bottom = GUILayout.Toggle(obj.fillOptions.bottom, "Bottom");
         * obj.fillOptions.top = GUILayout.Toggle(obj.fillOptions.top, "Top");
         * GUILayout.EndHorizontal();*/

        GUILayout.BeginHorizontal();

        /*if (GUILayout.Button("Fix All")) {
         *      fixGrig();
         * }*/
        if (GUILayout.Button("Fix Grig"))
        {
            fixGrig();
        }

        /*if (GUILayout.Button("Fix Size")) {
         * }*/
        GUILayout.EndHorizontal();

        SceneView.RepaintAll();
    }
示例#6
0
	public override void OnInspectorGUI () {

		obj = target as Tiled;
		base.OnInspectorGUI();

		/*GUILayout.BeginHorizontal();
		obj.fillOptions.left = GUILayout.Toggle(obj.fillOptions.left, "Left");
		obj.fillOptions.rigth = GUILayout.Toggle(obj.fillOptions.rigth, "Rigth");
		obj.fillOptions.bottom = GUILayout.Toggle(obj.fillOptions.bottom, "Bottom");
		obj.fillOptions.top = GUILayout.Toggle(obj.fillOptions.top, "Top");
		GUILayout.EndHorizontal();*/

		GUILayout.BeginHorizontal();
		/*if (GUILayout.Button("Fix All")) {
			fixGrig();
		}*/
		if (GUILayout.Button("Fix Grig")) {
			fixGrig();
		}
		/*if (GUILayout.Button("Fix Size")) {
		}*/
		GUILayout.EndHorizontal();

		SceneView.RepaintAll();
	}
示例#7
0
    //타일 생성
    private void CreateTile()
    {
        GameObject tile = Instantiate(cubePrefab[0], newVector3, Quaternion.identity);
        Tiled      cube = tile.GetComponent <Tiled>();

        tile.transform.parent = p_Sheet.transform; //부모정해주기
        cube.arry             = arryCount;
        arryCount++;
        arryCount = Mathf.Clamp(arryCount, 0, 500);
    }
示例#8
0
 static public void DrawPass(SpriteMeshObject spriteMeshObject, SpriteRenderer spriteRenderer, Vector2 pos, Vector2 size, float rotation)
 {
     if (spriteRenderer.drawMode == SpriteDrawMode.Tiled && spriteRenderer.tileMode == SpriteTileMode.Continuous)
     {
         Tiled.DrawPass(spriteMeshObject, spriteRenderer, pos, size, rotation);
     }
     else
     {
         Simple.DrawPass(spriteMeshObject, spriteRenderer, pos, size, rotation);
     }
 }
示例#9
0
 //벽생성 제한없음
 private void CreateWall_Nonelimitt()
 {
     if (pickingTileTr != null)
     {
         Vector3    pos  = new Vector3(tiled.transform.position.x, tiled.transform.position.y + 1, tiled.transform.position.z);
         GameObject tile = Instantiate(cubePrefab[1], pos, Quaternion.identity);
         Tiled      cube = tile.GetComponent <Tiled>();
         //벽 생성이후 예외 처리
         tiled.mr.material     = tiled.mat;
         tile.transform.parent = p_Wall.transform; //부모정해주기
         pickingTileTr         = null;
         tiled = null;
     }
 }
示例#10
0
    }//End Update

    public void KeyEventTile()
    {
        if (pickingTileTr != null)
        {
            tiled.mr.material = tiled.mat;
        }

        pickPos       = pickingTileTr.GetComponent <Tiled>().arry;
        pickingTileTr = floorTileMap.Tiles_Sheet[pickingTileTr.GetComponent <Tiled>().arry].GetComponent <Transform>();

        tiled = pickingTileTr.GetComponent <Tiled>();

        tiled.mr.material = materials[0];
        chk_MouseORKey    = 2;
    }
        private List <IShadow> GetShadows(Tiled tiled)
        {
            List <IShadow> shadows = new List <IShadow>();

            foreach (var layer in tiled.layers)
            {
                foreach (var chunk in layer.chunks)
                {
                    int[,] map = Tools.Tools.Other.ToMultidimentional(chunk.data, chunk.width, chunk.height);

                    shadows.AddRange(GetShadows(map, new Point(chunk.x, chunk.y)));
                }
            }

            return(shadows);
        }
        private List <ITile> GetTiles(Dictionary <int, Texture2D> textures, Tiled tiled)
        {
            List <ITile> tiles = new List <ITile>();


            foreach (Tiled.Layers layer in tiled.layers.Where(x => x.visible == true).ToList())
            {
                foreach (Tiled.Chunks chunk in layer.chunks)
                {
                    int[,] map = Tools.Tools.Other.ToMultidimentional(chunk.data, chunk.width, chunk.height);

                    tiles.AddRange(GetTiles(textures, map, layer.id, new Point(chunk.x, chunk.y)));
                }
            }

            return(tiles);
        }
示例#13
0
        public void Initialize(Vector2?playerPosition = null)
        {
            Tiled tiled_JSON = Tiled_JsonSerialization.Read <Tiled>("Map1");

            List <ILight> lights = new List <ILight>()
            {
                new Light(new Point(50, 100), Tools.Texture.CreateCircleTexture(Color.LightYellow, ChristianGame.Default.ScaleFactor * 3)),
                new LightPlayer(new Point(200, 150), Tools.Texture.CreateCircleTexture(Color.LightYellow, ChristianGame.Default.ScaleFactor * ChristianGame.Default.AssetSize / 3)),
                //new Light(new Point(300, 100), Tools.Texture.CreateCircleTexture(Color.LightYellow, ChristianGame.Default.ScaleFactor*3)),
                //new Light(new Point(600, 100), Tools.Texture.CreateCircleTexture(Color.LightYellow, ChristianGame.Default.ScaleFactor*3)),
                new Light(new Point(300, 500), Tools.Texture.CreateCircleTexture(Color.LightYellow, ChristianGame.Default.ScaleFactor * 3)),
            };

            this.map = new Map(WK.Texture.Tiles.Tiles2.tileTextures, tiled_JSON, lights);

            this.dxUpdateSystem = (InputState lastInputState, InputState inputState) => UpdateSystem();
            this.camera         = new Camera();
        }
示例#14
0
    public void KeyEventTile(int range)
    {
        if (pickingTileTr != null)
        {
            tiled.mr.material = tiled.mat;
        }

        pickPos = pickingTileTr.GetComponent <Tiled>().arry + range;
        if (pickPos < 0)
        {
        }
        else if (MAX * MAX < pickPos) //Todo : ??
        {
        }
        else
        {
            pickingTileTr = floorTileMap.Tiles_Sheet[pickingTileTr.GetComponent <Tiled>().arry + range].GetComponent <Transform>();
            tiled         = pickingTileTr.GetComponent <Tiled>();
        }
        tiled.mr.material = materials[0];


        chk_MouseORKey = 2;
    }
示例#15
0
        protected void PrintBaseInit(StringBuilder builder, DialogControl defaultBase)
        {
            builder.Append("\t\tDialogControlSetSize(");
            builder.Append(Name);
            builder.Append(", PlayerGroupAll(), ");
            builder.Append(Size.Width);
            builder.Append(", ");
            builder.Append(Size.Height);
            builder.AppendLine(");");

            builder.Append("\t\tDialogControlSetPosition(");
            builder.Append(Name);
            builder.Append(", PlayerGroupAll(), ");
            builder.Append(Anchor.ToSCIIString());
            builder.Append(", ");
            builder.Append(Offset.X);
            builder.Append(", ");
            builder.Append(Offset.Y);
            builder.AppendLine(");");


            if (Enabled != defaultBase.Enabled)
            {
                builder.Append("\t\tDialogControlSetEnabled(");
                builder.Append(Name);
                builder.Append(", PlayerGroupAll(), ");
                builder.Append(Enabled.ToString().ToLower());
                builder.AppendLine(");");
            }
            if (Visible != defaultBase.Visible)
            {
                builder.Append("\t\tDialogControlSetVisible(");
                builder.Append(Name);
                builder.Append(", PlayerGroupAll(), ");
                builder.Append(Visible.ToString().ToLower());
                builder.AppendLine(");");
            }
            if (FullDialog != defaultBase.Visible)
            {
                builder.Append("\t\tDialogControlSetVisible(");
                builder.Append(Name);
                builder.Append(", PlayerGroupAll(), ");
                builder.Append(Visible.ToString().ToLower());
                builder.AppendLine(");");
            }
            if (Text != defaultBase.Text)
            {
                builder.Append("\t\tDialogControlSetPropertyAsText(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyText, PlayerGroupAll(), \"");
                builder.Append(Text);
                builder.AppendLine("\");");
            }
            if (EditText != defaultBase.EditText)
            {
                builder.Append("\t\tDialogControlSetPropertyAsString(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyEditText, PlayerGroupAll(), \"");
                builder.Append(EditText);
                builder.AppendLine("\");");
            }
            if (TintColors[0] != defaultBase.TintColors[0] ||
                TintColors[1] != defaultBase.TintColors[1] ||
                TintColors[2] != defaultBase.TintColors[2])
            {
                if (TintColors[0] == TintColors[1] && TintColors[1] == TintColors[2])
                {
                    //because the parameters for ColorWithAlpha is r,g,b,a in 0~100,
                    // we need to scale by 100
                    builder.Append("\t\tDialogControlSetPropertyAsColor(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyColor, PlayerGroupAll(), ColorWithAlpha(");
                    Vector4 color = TintColors[0].ToVector4() * 100;
                    builder.Append(color.X);
                    builder.Append(", ");
                    builder.Append(color.Y);
                    builder.Append(", ");
                    builder.Append(color.Z);
                    builder.Append(", ");
                    builder.Append(color.W);
                    builder.AppendLine("));");
                }
                else
                {
                    builder.AppendLine("\t\tfor (int i = 0; i < 16; i++)");
                    builder.AppendLine("\t\t{");
                    builder.AppendLine("\t\t\tif (PlayerStatus(i) == c_playerStatusActive &&");
                    builder.AppendLine("\t\t\t    PlayerType(i) == c_playerTypeUser)");
                    builder.AppendLine("\t\t\t{");
                    builder.AppendLine("\t\t\t\tswitch (PlayerRace(i))");
                    builder.AppendLine("\t\t\t\t{");

                    builder.AppendLine("\t\t\t\t\tcase \"Terr\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsColor(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyColor, PlayerGroupSingle(i), ColorWithAlpha(");
                    Vector4 color = TintColors[0].ToVector4() * 100;
                    builder.Append(color.X);
                    builder.Append(", ");
                    builder.Append(color.Y);
                    builder.Append(", ");
                    builder.Append(color.Z);
                    builder.Append(", ");
                    builder.Append(color.W);
                    builder.AppendLine("));");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t\tcase \"Prot\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsColor(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyColor, PlayerGroupSingle(i), ColorWithAlpha(");
                    color = TintColors[1].ToVector4() * 100;
                    builder.Append(color.X);
                    builder.Append(", ");
                    builder.Append(color.Y);
                    builder.Append(", ");
                    builder.Append(color.Z);
                    builder.Append(", ");
                    builder.Append(color.W);
                    builder.AppendLine("));");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t\tcase \"Zerg\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsColor(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyColor, PlayerGroupSingle(i), ColorWithAlpha(");
                    color = TintColors[2].ToVector4() * 100;
                    builder.Append(color.X);
                    builder.Append(", ");
                    builder.Append(color.Y);
                    builder.Append(", ");
                    builder.Append(color.Z);
                    builder.Append(", ");
                    builder.Append(color.W);
                    builder.AppendLine("));");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t}");
                    builder.AppendLine("\t\t\t}");
                    builder.AppendLine("\t\t}");
                }
            }

            if (ImagePaths[0] != defaultBase.ImagePaths[0] ||
                ImagePaths[1] != defaultBase.ImagePaths[1] ||
                ImagePaths[2] != defaultBase.ImagePaths[2])
            {
                if (ImagePaths[0] == ImagePaths[1] && ImagePaths[1] == ImagePaths[2])
                {
                    builder.Append("\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyImage, PlayerGroupAll(), \"");
                    builder.Append(_imagePath2ScriptPath(ImagePaths[0].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                }
                else
                {
                    builder.AppendLine("\t\tfor (int i = 0; i < 16; i++)");
                    builder.AppendLine("\t\t{");
                    builder.AppendLine("\t\t\tif (PlayerStatus(i) == c_playerStatusActive &&");
                    builder.AppendLine("\t\t\t    PlayerType(i) == c_playerTypeUser)");
                    builder.AppendLine("\t\t\t{");
                    builder.AppendLine("\t\t\t\tswitch (PlayerRace(i))");
                    builder.AppendLine("\t\t\t\t{");

                    builder.AppendLine("\t\t\t\t\tcase \"Terr\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyImage, PlayerGroupSingle(i), \"");
                    builder.Append(_imagePath2ScriptPath(ImagePaths[0].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t\tcase \"Prot\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyImage, PlayerGroupSingle(i), \"");
                    builder.Append(_imagePath2ScriptPath(ImagePaths[1].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t\tcase \"Zerg\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyImage, PlayerGroupSingle(i), \"");
                    builder.Append(_imagePath2ScriptPath(ImagePaths[2].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t}");
                    builder.AppendLine("\t\t\t}");
                    builder.AppendLine("\t\t}");
                }
            }

            /*if (TextStyle != null &&
             *  (defaultBase.TextStyle == null ||
             *  TextStyle.Name != defaultBase.TextStyle.Name))
             * {
             *  builder.Append("\t\tDialogControlSetPropertyAsString(");
             *  builder.Append(Name);
             *  builder.Append(", c_triggerControlPropertyStyle, PlayerGroupAll(), \"");
             *  builder.Append(TextStyle.Name.Replace("\\", "\\\\"));
             *  builder.AppendLine("\");");
             * }*/
            if ((TextStyles[0] != null &&
                 (defaultBase.TextStyles[0] == null ||
                  TextStyles[0].Name != defaultBase.TextStyles[0].Name)) ||

                (TextStyles[1] != null &&
                 (defaultBase.TextStyles[1] == null ||
                  TextStyles[1].Name != defaultBase.TextStyles[1].Name)) ||

                (TextStyles[1] != null &&
                 (defaultBase.TextStyles[1] == null ||
                  TextStyles[1].Name != defaultBase.TextStyles[1].Name)))
            {
                if (TextStyles[0] == TextStyles[1] && TextStyles[1] == TextStyles[2])
                {
                    builder.Append("\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyStyle, PlayerGroupAll(), \"");
                    builder.Append(TextStyles[0].Name.Replace("\\", "\\\\"));
                    builder.AppendLine("\");");
                }
                else
                {
                    builder.AppendLine("\t\tfor (int i = 0; i < 16; i++)");
                    builder.AppendLine("\t\t{");
                    builder.AppendLine("\t\t\tif (PlayerStatus(i) == c_playerStatusActive &&");
                    builder.AppendLine("\t\t\t    PlayerType(i) == c_playerTypeUser)");
                    builder.AppendLine("\t\t\t{");
                    builder.AppendLine("\t\t\t\tswitch (PlayerRace(i))");
                    builder.AppendLine("\t\t\t\t{");

                    if (TextStyles[0] != null)
                    {
                        builder.AppendLine("\t\t\t\t\tcase \"Terr\":");
                        builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                        builder.Append(Name);
                        builder.Append(", c_triggerControlPropertyStyle, PlayerGroupSingle(i), \"");
                        builder.Append(TextStyles[0].Name.Replace("\\", "\\\\"));
                        builder.AppendLine("\");");
                        builder.AppendLine("\t\t\t\t\t\tbreak;");
                    }
                    if (TextStyles[1] != null)
                    {
                        builder.AppendLine("\t\t\t\t\tcase \"Prot\":");
                        builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                        builder.Append(Name);
                        builder.Append(", c_triggerControlPropertyImage, PlayerGroupSingle(i), \"");
                        builder.Append(TextStyles[1].Name.Replace("\\", "\\\\"));
                        builder.AppendLine("\");");
                        builder.AppendLine("\t\t\t\t\t\tbreak;");
                    }
                    if (TextStyles[2] != null)
                    {
                        builder.AppendLine("\t\t\t\t\tcase \"Zerg\":");
                        builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                        builder.Append(Name);
                        builder.Append(", c_triggerControlPropertyImage, PlayerGroupSingle(i), \"");
                        builder.Append(TextStyles[2].Name.Replace("\\", "\\\\"));
                        builder.AppendLine("\");");
                        builder.AppendLine("\t\t\t\t\t\tbreak;");
                    }
                    builder.AppendLine("\t\t\t\t}");
                    builder.AppendLine("\t\t\t}");
                    builder.AppendLine("\t\t}");
                }
            }

            if (Tiled != defaultBase.Tiled)
            {
                builder.Append("\t\tDialogControlSetPropertyAsBool(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyTiled, PlayerGroupAll(), ");
                builder.Append(Tiled.ToString().ToLower());
                builder.AppendLine(");");
            }

            /*if (Tiled != defaultBase.Tiled)
             * {
             *  builder.Append("\t\tDialogControlSetPropertyAsBool(");
             *  builder.Append(Name);
             *  builder.Append(", c_triggerControlPropertyTiled, PlayerGroupAll(), ");
             *  builder.Append(Tiled.ToString().ToLower());
             *  builder.AppendLine(");");
             * }*/
            if (Checked != defaultBase.Checked)
            {
                builder.Append("\t\tDialogControlSetPropertyAsBool(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyChecked, PlayerGroupAll(), ");
                builder.Append(Checked.ToString().ToLower());
                builder.AppendLine(");");
            }
            if (ToolTip != defaultBase.ToolTip)
            {
                builder.Append("\t\tDialogControlSetPropertyAsText(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyTooltip, PlayerGroupAll(), \"");
                builder.Append(ToolTip.Replace("\\", "\\\\"));
                builder.AppendLine("\");");
            }
            if (ImageType != defaultBase.ImageType)
            {
                builder.Append("\t\tDialogControlSetPropertyAsInt(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyImageType, PlayerGroupAll(), ");
                builder.Append(ImageType.ToSCIIString());
                builder.AppendLine(");");
            }
            if (BlendMode != defaultBase.BlendMode)
            {
                builder.Append("\t\tlibNtve_gf_SetDialogItemBlendMode(");
                builder.Append(Name);
                builder.Append(", ");
                builder.Append(BlendMode.ToSCIIString());
                builder.AppendLine(", PlayerGroupAll());");
            }
            if (HoverImagePaths[0] != defaultBase.HoverImagePaths[0] ||
                HoverImagePaths[1] != defaultBase.HoverImagePaths[1] ||
                HoverImagePaths[2] != defaultBase.HoverImagePaths[2])
            {
                if (HoverImagePaths[0] == HoverImagePaths[1] && HoverImagePaths[1] == HoverImagePaths[2])
                {
                    builder.Append("\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyHoverImage, PlayerGroupAll(), \"");
                    builder.Append(_imagePath2ScriptPath(HoverImagePaths[0].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                }
                else
                {
                    builder.AppendLine("\t\tfor (int i = 0; i < 16; i++)");
                    builder.AppendLine("\t\t{");
                    builder.AppendLine("\t\t\tif (PlayerStatus(i) == c_playerStatusActive &&");
                    builder.AppendLine("\t\t\t    PlayerType(i) == c_playerTypeUser)");
                    builder.AppendLine("\t\t\t{");
                    builder.AppendLine("\t\t\t\tswitch (PlayerRace(i))");
                    builder.AppendLine("\t\t\t\t{");

                    builder.AppendLine("\t\t\t\t\tcase \"Terr\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyHoverImage, PlayerGroupSingle(i), \"");
                    builder.Append(_imagePath2ScriptPath(HoverImagePaths[0].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t\tcase \"Prot\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyHoverImage, PlayerGroupSingle(i), \"");
                    builder.Append(_imagePath2ScriptPath(HoverImagePaths[1].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t\tcase \"Zerg\":");
                    builder.Append("\t\t\t\t\t\tDialogControlSetPropertyAsString(");
                    builder.Append(Name);
                    builder.Append(", c_triggerControlPropertyHoverImage, PlayerGroupSingle(i), \"");
                    builder.Append(_imagePath2ScriptPath(HoverImagePaths[2].Replace("\\", "\\\\")));
                    builder.AppendLine("\");");
                    builder.AppendLine("\t\t\t\t\t\tbreak;");

                    builder.AppendLine("\t\t\t\t}");
                    builder.AppendLine("\t\t\t}");
                    builder.AppendLine("\t\t}");
                }
            }
            if (RenderPriority != defaultBase.RenderPriority)
            {
                builder.Append("\t\tDialogControlSetPropertyAsInt(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyRenderPriority, PlayerGroupAll(), ");
                builder.Append(RenderPriority);
                builder.AppendLine(");");
            }
            if (MinValue != defaultBase.MinValue)
            {
                builder.Append("\t\tDialogControlSetPropertyAsFixed(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyMinValue, PlayerGroupAll(), ");
                builder.Append(MinValue.ToString(CultureInfo.InvariantCulture.NumberFormat));
                builder.AppendLine(");");
            }
            if (MaxValue != defaultBase.MaxValue)
            {
                builder.Append("\t\tDialogControlSetPropertyAsFixed(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyMaxValue, PlayerGroupAll(), ");
                builder.Append(MaxValue.ToString(CultureInfo.InvariantCulture.NumberFormat));
                builder.AppendLine(");");
            }
            if (Value != defaultBase.Value)
            {
                builder.Append("\t\tDialogControlSetPropertyAsFixed(");
                builder.Append(Name);
                builder.Append(", c_triggerControlPropertyValue, PlayerGroupAll(), ");
                builder.Append(Value.ToString(CultureInfo.InvariantCulture.NumberFormat));
                builder.AppendLine(");");
            }
            if (Items != null)
            {
                foreach (string item in Items)
                {
                    builder.Append("\t\tDialogControlAddItem(");
                    builder.Append(Name);
                    builder.Append(", PlayerGroupAll(), \"");
                    builder.Append(item);
                    builder.AppendLine("\");");
                }
            }
            if (SelectionIndex != defaultBase.SelectionIndex)
            {
                builder.Append("\t\tDialogControlSelectItem(");
                builder.Append(Name);
                builder.Append(", PlayerGroupAll(), ");
                builder.Append(SelectionIndex);
                builder.AppendLine(");");
            }

            //windywell enable mouse event for all users if events count >0
            if (Events.Count > 0)
            {
                //libNtve_gf_SetDialogItemAcceptMouse(test->bounder,true,PlayerGroupAll());
                builder.Append("\t\tlibNtve_gf_SetDialogItemAcceptMouse(");
                builder.Append(Name);
                builder.AppendLine(",true,PlayerGroupAll());");

                //to avoid the calling of the following event state chane
                //builder.AppendLine("\t\tWait(0.1,c_timeReal);");
            }

            foreach (KeyValuePair <string, string> pair in Events)
            {
                //to avoid the calling of the following event state change, using InvokeAsync<>()
                builder.Append("\t\tInvokeAsync<this->AddEventDialogControl>(");
                builder.Append(Data.DialogIdentiferName);
                builder.Append("_");
                builder.Append(Name);
                builder.Append("_");
                builder.Append(pair.Key);
                builder.Append(", c_playerAny, ");
                builder.Append(Name);
                switch (pair.Key)
                {
                case "OnClicked":
                    builder.AppendLine(", c_triggerControlEventTypeClick);");
                    break;

                case "OnAnyEvent":
                    builder.AppendLine(", c_triggerControlEventTypeAny);");
                    break;

                case "OnChecked":
                    builder.AppendLine(", c_triggerControlEventTypeChecked);");
                    break;

                case "OnMouseEnter":
                    builder.AppendLine(", c_triggerControlEventTypeMouseEnter);");
                    break;

                case "OnMouseExit":
                    builder.AppendLine(", c_triggerControlEventTypeMouseExit);");
                    break;

                case "OnTextChanged":
                    builder.AppendLine(", c_triggerControlEventTypeTextChanged);");
                    break;

                case "OnValueChanged":
                    builder.AppendLine(", c_triggerControlEventTypeValueChanged);");
                    break;

                case "OnSelectionChanged":
                    builder.AppendLine(", c_triggerControlEventTypeSelectionChanged);");
                    break;

                case "OnSelectionDoubleClicked":
                    builder.AppendLine(", c_triggerControlEventTypeSelectionDoubleClicked);");
                    break;
                }
            }
        }
示例#16
0
        public void Initialize(Vector2?playerPosition = null)
        {
            Tiled tiled_JSON = Tiled_JsonSerialization.Read <Tiled>("Map1");

            this.map = new Map(WK.Texture.Tiles.tileTextures, tiled_JSON);
        }
 public Map(Dictionary <int, Texture2D> textures, Tiled tiled, List <ILight> lights = null)
 {
     this.tiles   = GetTiles(textures, tiled);
     this.lights  = lights;
     this.shadows = GetShadows(tiled);
 }