コード例 #1
0
ファイル: Tile.cs プロジェクト: ARLM-Attic/xna-dash
 /// <summary>
 /// Fires the <see cref="TileCollision"/> event.
 /// Event is wrapped so the static <see cref="TileCollision"/> can fire the event.
 /// </summary>
 public void FireTileCollisionEvent(TileTypeEnum tileType)
 {
     if (TileCollision != null)
     {
         TileCollision(tileType);
     }
 }
コード例 #2
0
    private void CreateRandomTile(TileTypeEnum tileType, Action <List <ResourceModel> > callback)
    {
        LootDropTable <ResourceModel, ResourceTypesEnum> lootDropTable = new LootDropTable <ResourceModel, ResourceTypesEnum>();

        List <BucketObjectModel <ResourceTypesEnum> > lootObjectModel = new List <BucketObjectModel <ResourceTypesEnum> >();

        List <ResourceModel> resources = null;

        foreach (TileCreateModel tileCreateModel in GameModel.Tiles)
        {
            if (tileCreateModel.Type == tileType)
            {
                foreach (ResourceCreateModel resource in tileCreateModel.Resources)
                {
                    BucketObjectModel <ResourceTypesEnum> bucketObject = new BucketObjectModel <ResourceTypesEnum>(resource.Type, resource.Weight, resource.Count);
                    lootObjectModel.Add(bucketObject);
                }

                resources = lootDropTable.GetLoot(lootObjectModel, tileCreateModel.MinDrop, tileCreateModel.MaxDrop);
                break;
            }
        }


        if (resources != null)
        {
            callback.Invoke(resources);
        }

        else
        {
            Debug.LogError("resources == NULL");
        }
    }
コード例 #3
0
ファイル: TileView.cs プロジェクト: Rofll/Miner
 public void Init(TileModel tileModel)
 {
     this.tileType           = tileModel.TileType;
     this.resources          = tileModel.Resources;
     this.position           = tileModel.Position;
     this.unityWorldPosition = tileModel.UnityWorldPosition;
 }
コード例 #4
0
ファイル: TileCreation.cs プロジェクト: Chargeorge/Studio2
    public void perlinPass(TileTypeEnum tte, int threshold, bool evenMap)
    {
        float RandomChange  = Random.value;
        int xLen = (!evenMap) ? boardX : boardX/2;

        for(int x= 0;x < xLen; x++ ){
            for(int y=0; y< boardY; y++ ){
                float xVal  = (x+RandomChange)*2.5f;
                float yVal = (y+RandomChange)*2.5f;
                float perlinVal = Mathf.PerlinNoise(xVal,yVal)*10;

                //if(perlinVal*perlinVal > 60 && perlinVal*perlinVal < 80){
                if(perlinVal*perlinVal*perlinVal*perlinVal > threshold){
                    BaseTile.createTile(tte, tilesGameBoard[x,y]);

                }
                //tilesGameBoard[x,y].renderer.material= matTest;
                //tilesGameBoard[x,y].renderer.material =(Material)Resources.Load("Sprites/Materials/River");
            }
        }

        if(evenMap){
            for(int x= 0;x < xLen; x++ ){
                for(int y=0; y< boardY; y++ ){

                    BaseTile.createTile(tilesGameBoard[x,y].GetComponent<BaseTile>().currentType, tilesGameBoard[boardX-x-1,y]);
                }
            }
        }
    }
コード例 #5
0
ファイル: XNADash.cs プロジェクト: ARLM-Attic/xna-dash
 void OnTileCollision(TileTypeEnum tileType)
 {
     if (CurrentLevel.DiamondsToCollect == DiamondsCollected)
     {
         SoundFxManager.Instance.PlaySound(SoundFxManager.CueEnums.applause);
         Thread.Sleep(6000);
         GameStateManager.CurrentGameState = GameStateManager.GameState.Menu;
         mainWindow.Show();
         IsMouseVisible = true;
     }
 }
コード例 #6
0
        public static bool isTileAnimated(TileTypeEnum tileType)
        {
            switch (tileType)
            {
            case TileTypeEnum.Water:
                return(true);

            default:
                return(false);
            }
        }
コード例 #7
0
ファイル: Tile.cs プロジェクト: AdrianTVB/acoustic
 public Tile(int coordinateX, int coordinateY, TileTypeEnum tileType, ResourceTypeEnum resourceType, Region region)
 {
     CoordinateX            = coordinateX;
     CoordinateY            = coordinateY;
     TileType               = tileType;
     ResourceType           = resourceType;
     CurrentRegion          = region;
     DailyResourceIncrement = (int)resourceType;
     MaximumResourceLevel   = DailyResourceIncrement * 100;
     CurrentResourceLevel   = MaximumResourceLevel;
 }
コード例 #8
0
 // Set tile as empty or blocked
 public void SetAs(TileTypeEnum newTileType)
 {
     if (newTileType == TileTypeEnum.Empty)
     {
         spriteRenderer.sprite = tileData.Empty;
         tileType = TileTypeEnum.Empty;
     }
     else if (newTileType == TileTypeEnum.Blocked)
     {
         spriteRenderer.sprite = tileData.Blocked;
         tileType = TileTypeEnum.Blocked;
     }
 }
コード例 #9
0
ファイル: MenuTiles.cs プロジェクト: Chargeorge/Studio2
    public void perlinPass(TileTypeEnum tte, int threshold	)
    {
        float RandomChange  = Random.value;
        for(int x= 0;x < boardX; x++ ){
            for(int y=0; y< boardY; y++ ){
                float xVal  = (x+RandomChange)*2.5f;
                float yVal = (y+RandomChange)*2.5f;
                float perlinVal = Mathf.PerlinNoise(xVal,yVal)*10;

                //if(perlinVal*perlinVal > 60 && perlinVal*perlinVal < 80){
                if(perlinVal*perlinVal*perlinVal*perlinVal > threshold){
                    BaseTile.createTile(tte, tilesGameBoard[x,y]);

                }
                //tilesGameBoard[x,y].renderer.material= matTest;
                //tilesGameBoard[x,y].renderer.material =(Material)Resources.Load("Sprites/Materials/River");
            }
        }
    }
コード例 #10
0
        public static TileTypeEnum[,] GenerateLevel()
        {
            TileTypeEnum[,] map = new TileTypeEnum[20, 10];

            for (int x = 0; x < map.GetLength(0); x++)
            {
                for (int y = 0; y < map.GetLength(1); y++)
                {
                    if (x == 0 || y == 0 || x == map.GetLength(0) - 1 || y == map.GetLength(1) - 1)
                    {
                        map[x, y] = TileTypeEnum.Wall;
                    }
                    else
                    {
                        map[x, y] = TileTypeEnum.Ground;
                    }
                }
            }

            return(map);
        }
コード例 #11
0
    void init(TileTypeEnum type)
    {
        this.typeEnum = type;

        switch (typeEnum)
        {
        case TileTypeEnum.GROUND:
            //do something
            break;

        case TileTypeEnum.BONE_PILE:
            //do something
            break;

        case TileTypeEnum.RIVER:
            //do something
            break;

        case TileTypeEnum.STALAGMITE:
            //do something
            break;
        }
    }
コード例 #12
0
ファイル: TilePoolCreateCommand.cs プロジェクト: Rofll/Miner
    private GameObject CreateTileGameObject(TileTypeEnum tileType, Transform parent)
    {
        Object obj = Resources.Load(RESOURCE_PATH_TILE + OBJECT_NAME_Tile + tileType.ToString());

        if (obj != null)
        {
            GameObject clone = Object.Instantiate(obj) as GameObject;

            clone.name             = OBJECT_NAME_Tile + tileType.ToString();
            clone.transform.parent = parent;

            TileView tileView = clone.GetComponent <TileView>();

            tileView.OnDeSpawn();

            return(clone);
        }

        else
        {
            Debug.LogError(RESOURCE_PATH_TILE + OBJECT_NAME_Tile + tileType.ToString() + " == NULL");
            return(null);
        }
    }
コード例 #13
0
 public void setTypeEnum(TileTypeEnum typeEnum)
 {
     this.typeEnum = typeEnum;
 }
コード例 #14
0
 public EmptyTile(int x, int y, TileTypeEnum tileType) : base(x, y, tileType)
 {
 }
コード例 #15
0
 public Obsticle(int x, int y, TileTypeEnum tileType) : base(x, y, tileType)
 {
 }
コード例 #16
0
 public Tile(int x, int y, TileTypeEnum tileType)
 {
     X        = x;
     Y        = y;
     TileType = tileType;
 }
コード例 #17
0
 public ResourcesCreateCallBackModel(TileTypeEnum tileType, Action <List <ResourceModel> > callBack)
 {
     this.tileType = tileType;
     this.callBack = callBack;
 }
コード例 #18
0
 public void SetTileType(TileTypeEnum type)
 {
     tileType = type;
     // UpdateGfx(tileType);
 }
コード例 #19
0
 public bool IsContainsTileType(TileTypeEnum id)
 {
     return(TileIds.ContainsKey((short)id));
 }
コード例 #20
0
ファイル: XmlReader.cs プロジェクト: ansem571/GameLibrary
        private List <ITile> GetTiles(TileTypeEnum tileType, XmlNodeList tiles)
        {
            GetTileType(tileType, out List <ITile> list, out Type typeOfTile);
            try
            {
                //Follows schema of Location, RegionId, Visited, Cleared (Dungeon only)
                foreach (XmlNode tile in tiles)
                {
                    var locationNode = tile.FirstChild;
                    if (locationNode == null)
                    {
                        Console.WriteLine($"Invalid location node: {tile.ParentNode.Name}");
                        continue;
                    }
                    var    x        = Convert.ToInt32(locationNode.FirstChild.InnerXml);
                    var    y        = Convert.ToInt32(locationNode.LastChild.InnerXml);
                    IPoint location = new Point2D(x, y);

                    var regionNode = locationNode.NextSibling;
                    if (regionNode == null)
                    {
                        Console.WriteLine($"Invalid regionID node: {tile}");
                        continue;
                    }
                    var region = regionNode.InnerXml;

                    var visitedNode = regionNode.NextSibling;
                    var visited     = visitedNode != null?Convert.ToBoolean(visitedNode.InnerXml) : false;

                    var tileParams = new List <object>
                    {
                        location,
                        region,
                        visited
                    };

                    if (typeOfTile == typeof(DungeonTile))
                    {
                        var clearedNode = visitedNode.NextSibling;
                        if (clearedNode != null)
                        {
                            tileParams.Add(Convert.ToBoolean(clearedNode.InnerXml));
                        }
                        else
                        {
                            tileParams.Add(false);
                        }
                        //TODO: Add as field in xml doc
                        var numOfEnemies = 3;
                        tileParams.Add(numOfEnemies);
                    }
                    if (typeOfTile == typeof(EnemyTile) || typeOfTile == typeof(DungeonTile))
                    {
                        tileParams.Add(_battleManager);
                    }

                    var newTile = (ITile)Activator.CreateInstance(typeOfTile, tileParams.ToArray());
                    list.Add(newTile);
                }
                return(list);
            }
            catch (Exception e)
            {
                StaticHelperClass.PrintException(e, 3);
            }
            return(null);
        }
コード例 #21
0
ファイル: XmlReader.cs プロジェクト: ansem571/GameLibrary
        private static void GetTileType(TileTypeEnum tileType, out List <ITile> list, out Type typeOfTile)
        {
            switch (tileType)
            {
            case TileTypeEnum.Enemy:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(EnemyTile);
            }
            break;

            case TileTypeEnum.Town:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(TownTile);
            }
            break;

            case TileTypeEnum.Dungeon:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(DungeonTile);
            }
            break;

            case TileTypeEnum.POI:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(POITile);
            }
            break;

            case TileTypeEnum.Desert:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(DesertTile);
            }
            break;

            case TileTypeEnum.Forest:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(ForestTile);
            }
            break;

            case TileTypeEnum.Mountain:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(MountainTile);
            }
            break;

            case TileTypeEnum.Plains:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(PlainsTile);
            }
            break;

            case TileTypeEnum.Seaside:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(SeasideTile);
            }
            break;

            case TileTypeEnum.None:
            default:
            {
                list       = new List <ITile>();
                typeOfTile = typeof(ITile);
            }
            break;
            }
        }
コード例 #22
0
ファイル: World.cs プロジェクト: sycomix/AIUnityExamples
    // Procedurally generate level
    private void GenerateLevel()
    {
        // Array of game objects to clone for each column
        TileTypeEnum[] columnToCreate = new TileTypeEnum[worldSize.y];

        // Cycle through columns
        for (int i = 0; i < worldSize.x; i++)
        {
            // Number of passages in current column (by default all)
            int numEmpty = worldSize.y;

            // For current column determine which tiles are empty and which are
            // blocked
            for (int j = 0; j < worldSize.y; j++)
            {
                // By default, current position in column is empty
                columnToCreate[j] = TileTypeEnum.Empty;

                // However, if column is odd...
                if (i % 2 != 0)
                {
                    // ...and of by chance it's supposed to have a blocked tile
                    if (Random.value > passageRatio)
                    {
                        // ...then set a blocked tile
                        columnToCreate[j] = TileTypeEnum.Blocked;

                        // Now we have on less empty space
                        numEmpty--;
                    }
                }
            }

            // Are there any empty tiles in current column?
            if (numEmpty == 0)
            {
                // If not, then randomly define one empty tile
                columnToCreate[Random.Range(0, worldSize.y)] =
                    TileTypeEnum.Empty;
            }

            // Instantiate tiles for current column
            for (int j = 0; j < worldSize.y; j++)
            {
                GameObject currTile = Instantiate(tile, transform);
                currTile.name = $"Tile({i},{j})";
                currTile.transform.position =
                    new Vector3(i - offset.x, j - offset.y, 0);
                world[i, j] = currTile.GetComponent <TileBehaviour>();
                world[i, j].SetAs(columnToCreate[j]);
                world[i, j].Pos = new Vector2Int(i, j);
            }
        }

        // Place player anywhere in the world, as long as it's an empty tile
        while (true)
        {
            PlayerPos = new Vector2Int(
                Random.Range(0, worldSize.x), Random.Range(0, worldSize.y));
            if (world[PlayerPos.x, PlayerPos.y].TileType == TileTypeEnum.Empty)
            {
                player = Instantiate(player);
                player.transform.position = new Vector3(
                    PlayerPos.x - offset.x, PlayerPos.y - offset.y, -2);
                break;
            }
        }

        Debug.Log($"Player placed at {PlayerPos}");

        // Place goal anywhere in the world, as long as it's an empty tile and
        // noy the player position
        while (true)
        {
            GoalPos = new Vector2Int(
                Random.Range(0, worldSize.x), Random.Range(0, worldSize.y));
            if (world[GoalPos.x, GoalPos.y].TileType == TileTypeEnum.Empty &&
                PlayerPos != GoalPos)
            {
                goal = Instantiate(goal);
                goal.transform.position = new Vector3(
                    GoalPos.x - offset.x, GoalPos.y - offset.y, -1);
                break;
            }
        }

        Debug.Log($"Goal placed at {GoalPos}");
    }
コード例 #23
0
ファイル: TileCreateModel.cs プロジェクト: Rofll/Miner
 public TileCreateModel(TileTypeEnum type, List <ResourceCreateModel> resources, float weight)
 {
     this.type      = type;
     this.resources = resources;
     this.weight    = weight;
 }
コード例 #24
0
ファイル: BaseTile.cs プロジェクト: pierredepaz/Studio2
    public static void createTile(TileTypeEnum et, GameObject currentTile)
    {
        currentTile.GetComponent<BaseTile>().IsHover = false;
        currentTile.GetComponent<BaseTile>().IsSelected = false;
        currentTile.GetComponent<BaseTile>().IsHighlighted = false;

        switch (et){
            case TileTypeEnum.regular:
                currentTile.renderer.material = (Material)Resources.Load("Sprites/Materials/Regular");
                currentTile.GetComponent<BaseTile>().currentType = TileTypeEnum.regular;
            break;

            case TileTypeEnum.water:
                currentTile.renderer.material = (Material)Resources.Load("Sprites/Materials/Water");
                currentTile.GetComponent<BaseTile>().currentType = TileTypeEnum.water;
            break;
        }
    }
コード例 #25
0
ファイル: BaseTile.cs プロジェクト: pierredepaz/Studio2
    public void setTileType(TileTypeEnum TT)
    {
        switch (TT){
        case TileTypeEnum.regular:
            gameObject.renderer.material = (Material)Resources.Load("Sprites/Materials/Regular");
            currentType = TileTypeEnum.regular;
            break;

        case TileTypeEnum.water:
            gameObject.renderer.material = (Material)Resources.Load("Sprites/Materials/Water");
            currentType = TileTypeEnum.water;
            break;
        }
    }
コード例 #26
0
ファイル: Tile.cs プロジェクト: dnguyen-9/CodeFighter
 public Tile(TileTypeEnum tileType, bool behaviorIsHidden, Vector3 position)
 {
     _Position         = position;
     _TileType         = tileType;
     _BehaviorIsHidden = behaviorIsHidden;
 }