示例#1
0
    Dictionary <TileManager.TileDirection, Tile> SearchBorderTiles()
    {
        Vector3 position            = characterInstance.transform.position;
        Vector2 characterCoordinate = FieldTileUtility.GetCoordFromPosition(position.x, position.y);

        return(TileManager.GetTileDictionaryOfBorderTiles(characterCoordinate));
    }
示例#2
0
    public void InitializeCharacter()
    {
        characterInstance.SetCharClass(this.charClass);
        Debug.Log("Create : " + charClass);

        Tile startTile = TileManager.GetStartTile();

        characterInstance.SetStartTile(startTile);
        characterInstance.SetIsMine(GameManager.gameManagerInstance.isMyCharacterManager(this));
        characterInstance.SetPlayerId(GameManager.GetNetworkViewID(this));

        characterInstance.Initialize();

        Vector3 spawnTilePosition        = characterInstance.GetSpawnTile().gameObject.transform.position;
        Vector3 spawnPositionOfCharacter = new Vector3(spawnTilePosition.x, spawnTilePosition.y, Unit.Depth);

        characterInstance.transform.position = spawnPositionOfCharacter;
        Vector2 characterCoordinate = FieldTileUtility.GetCoordFromPosition(spawnPositionOfCharacter.x, spawnPositionOfCharacter.y);

        CharacterMover mover = characterInstance.GetComponent <CharacterMover>();

        mover.InitializeTileKey((int)(characterCoordinate.x * 100 + characterCoordinate.y));

        Camera.main.transform.position = new Vector3(spawnPositionOfCharacter.x, spawnPositionOfCharacter.y, Camera.main.transform.position.z);
    }
示例#3
0
 public EnemyPlaceHolder()
 {
     //Smallest Enemies.
     enemyPlaces.Add(FieldTileUtility.GetKeyFromCoord(6, 4));
     enemyPlaces.Add(FieldTileUtility.GetKeyFromCoord(10, 4));
     enemyPlaces.Add(FieldTileUtility.GetKeyFromCoord(11, 11));
     //Middle Enemies.
     enemyPlaces.Add(FieldTileUtility.GetKeyFromCoord(5, 5));
     enemyPlaces.Add(FieldTileUtility.GetKeyFromCoord(9, 5));
     enemyPlaces.Add(FieldTileUtility.GetKeyFromCoord(10, 11));
 }
示例#4
0
    public EnemyInfoHolder()
    {
        //Smallest Enemies.
        enemyInfoList.Add(new EnemyInfo(FieldTileUtility.GetKeyFromCoord(6, 4), Enemy.EnemyType.Smallest));
        enemyInfoList.Add(new EnemyInfo(FieldTileUtility.GetKeyFromCoord(10, 4), Enemy.EnemyType.Smallest));
        enemyInfoList.Add(new EnemyInfo(FieldTileUtility.GetKeyFromCoord(9, 10), Enemy.EnemyType.Smallest));

        //Middle Enemies.
        enemyInfoList.Add(new EnemyInfo(FieldTileUtility.GetKeyFromCoord(5, 5), Enemy.EnemyType.Middle));
        enemyInfoList.Add(new EnemyInfo(FieldTileUtility.GetKeyFromCoord(9, 5), Enemy.EnemyType.Middle));
        enemyInfoList.Add(new EnemyInfo(FieldTileUtility.GetKeyFromCoord(8, 10), Enemy.EnemyType.Middle));
    }
        public void Show()
        {
            EditorGUILayout.LabelField("tile key to position");
            coordX = EditorGUILayout.IntField("coord x", coordX);
            coordY = EditorGUILayout.IntField("coord y", coordY);

            if (GUILayout.Button("Calculate"))
            {
                positionToShow = FieldTileUtility.GetCoordFromPosition(coordX, coordY);
            }

            EditorGUILayout.Vector2Field("position", positionToShow);
        }
    void ShowPositionToKey()
    {
        EditorGUILayout.LabelField("position to tile key.");
        tilePosition = EditorGUILayout.Vector2Field("position", tilePosition);

        if (GUILayout.Button("Calculate"))
        {
            Vector2 coordXY = FieldTileUtility.GetCoordFromPosition(position.x, position.y);
            coordX = (int)coordXY.x;
            coordY = (int)coordXY.y;
        }
        coordX = EditorGUILayout.IntField("coord x", coordX);
        coordY = EditorGUILayout.IntField("coord y", coordY);
    }
示例#7
0
    void Awake()
    {
        singletonInstance = this;

        Tile[] tiles = FindObjectsOfType(typeof(Tile)) as Tile[];
        foreach (Tile tile in tiles)
        {
            tileList.Add(tile);
            Vector2 tilePreCoordinate = FieldTileUtility.GetCoordFromPosition(tile.transform.localPosition.x, tile.transform.localPosition.y);
            Vector2 tileCoordinate    = new Vector2(tilePreCoordinate.x, tilePreCoordinate.y);
            int     tileKey           = (int)(tileCoordinate.x * 100 + tileCoordinate.y);
            tile.SetTileKey(tileKey);
            tileDictionary.Add(tileKey, tile);
        }
    }
示例#8
0
    public void InitializeUnit()
    {
        enemyInstance.SetEnemyType(this.enemyType);

        Vector3 spawnTilePosition   = spawnTile.gameObject.transform.position;
        Vector3 spawnPositionOfUnit = new Vector3(spawnTilePosition.x, spawnTilePosition.y, Unit.Depth);

        enemyInstance.transform.position = spawnPositionOfUnit;
        Vector2 unitCoordinate = FieldTileUtility.GetCoordFromPosition(spawnPositionOfUnit.x, spawnPositionOfUnit.y);

        CharacterMover mover = enemyInstance.GetComponent <CharacterMover>();

        mover.InitializeTileKey((int)(unitCoordinate.x * 100 + unitCoordinate.y));

        //Camera.main.transform.position = new Vector3(spawnPositionOfUnit.x, spawnPositionOfUnit.y, Camera.main.transform.position.z);
    }
示例#9
0
    public IEnumerator MoveTo(Tile toMoveTile)
    {
        int currentTileKey = FieldTileUtility.GetKeyFromTile(toMoveTile);

        UpdateTileKey(currentTileKey);

        //iTween.MoveTo(
        Vector3 nextTilePosition = new Vector3(
            toMoveTile.transform.position.x,
            toMoveTile.transform.position.y,
            transform.position.z);
        Vector3 currentPosition = transform.position;
        Vector3 diff            = currentPosition - nextTilePosition;
        float   moveTime        = diff.magnitude / DelayManager.Get().playerMoveSpeed;

        iTween.MoveTo(gameObject,
                      iTween.Hash("position", nextTilePosition, "time", moveTime, "easeType", DelayManager.Get().moveEaseType)
                      );
        yield return(Run.WaitSeconds(moveTime).WaitFor);
    }
示例#10
0
    void CreateArrow(Dictionary <TileManager.TileDirection, Tile> movableDictionary)
    {
        directionArrowList = new List <DirectionArrow>();

        foreach (KeyValuePair <TileManager.TileDirection, Tile> pair in movableDictionary)
        {
            TileManager.TileDirection direction = pair.Key;

            Vector3 characterPosition  = characterInstance.transform.position;
            Vector2 arrowCoordinate    = FieldTileUtility.GetCoordOfDirectionByPosition(direction, characterPosition);
            Vector2 arrowPosition      = FieldTileUtility.GetPositionFromCoordinate(arrowCoordinate.x, arrowCoordinate.y);
            Vector3 arrowPositionWithZ = new Vector3(arrowPosition.x, arrowPosition.y, characterPosition.z);

            DirectionArrow directionArrow = null;
            directionArrow = GameObject.Instantiate(arrowPrefeb, arrowPositionWithZ, Quaternion.identity) as DirectionArrow;

            DirectionArrow directionArrowScript = directionArrow.gameObject.GetComponent <DirectionArrow>();
            directionArrowScript.SetArrowDirection(direction);

            directionArrowList.Add(directionArrow);
        }
    }
示例#11
0
    public void GenerateTile()
    {
        for (int i = 0; i < MapWidth; i++)
        {
            for (int j = 0; j < MapHeight; j++)
            {
                Vector2 tilePosition;
                tilePosition = FieldTileUtility.GetCoordFromPosition(i, j);

                Vector3 zerozeroPosition = new Vector3(tilePosition.x, tilePosition.y, j * 0.1f);
                Tile    tileInstance     = Instantiate(tile, zerozeroPosition, Quaternion.identity) as Tile;

                GameObject tileInstanceGameObject   = tileInstance.gameObject;
                GameObject testFieldTilesGameObject = gameObject;

                Transform tileInstanceTransform = tileInstanceGameObject.GetComponent <Transform>();

                tileInstanceGameObject.name  = "(" + i + "," + j + ") tile";
                tileInstanceTransform.parent = testFieldTilesGameObject.transform;
            }
        }
    }
示例#12
0
    bool IsPrePreTile(Tile tile)
    {
        int tileKeyOfBorderTile = FieldTileUtility.GetKeyFromTile(tile);

        return(prePreTileKey == tileKeyOfBorderTile);
    }
示例#13
0
文件: Tile.cs 项目: SNUGDC/BeerWorld
 public Vector2 GetCoord()
 {
     return(FieldTileUtility.GetCoordFromKey(tileKey));
 }