Exemplo n.º 1
0
    void OnEnable()
    {
        var tileMaterialsGUID = AssetDatabase.FindAssets("EditorTileMaterials")[0];
        var tileMaterialsPath = AssetDatabase.GUIDToAssetPath(tileMaterialsGUID);
        tileMaterials = AssetDatabase.LoadAssetAtPath<DebugTileMaterials>(tileMaterialsPath);

        tileAppearance = serializedObject.FindProperty("appearance");
        oldTileApprearance = (TileAppearance)tileAppearance.intValue;
        tileProperties = serializedObject.FindProperty("properties");
        oldTileProperties = (TileProperty)tileProperties.intValue;
    }
Exemplo n.º 2
0
 public bool Dig()
 {
         if ((properties & TileProperty.Hole) == TileProperty.Hole ||
             (properties & TileProperty.Crater) == TileProperty.Crater)
         {
             return false;
         }
         appearance = TileAppearance.Hole;
         properties = properties | TileProperty.Hole;
         ChangeModel();
         heatmapUpdateTimer.Restart();
         return true;
 }
Exemplo n.º 3
0
 public bool Detonate()
 {
     if ((properties & TileProperty.Landmine) == TileProperty.Landmine)
     {
         appearance = TileAppearance.Crater;
         properties = properties ^ TileProperty.Landmine;
         properties = properties | TileProperty.Crater;
         ChangeModel();
         Camera.main.GetComponent<ShakeScript>().Shake();
         GameObject.Instantiate(GameObject.FindGameObjectWithTag("Game Manager").GetComponent<TilePrefabHelpScript>().explosionPrefab, transform.position, Quaternion.LookRotation(Vector3.up));
         heatmapUpdateTimer.Restart();
         return true;
     }
     return false;
 }
Exemplo n.º 4
0
 public GameObject ChangeState(TileAppearance state)
 {
     switch (state)
     {
         case TileAppearance.Normal:
             return SetAppearance(startingPrefabs);
         case TileAppearance.Hole:
             return SetAppearance(holePrefabs);
         case TileAppearance.Crater:
             return SetAppearance(craterPrefabs);
         case TileAppearance.Obstacle:
             return SetAppearance(obstaclePrefabs);
         default:
             return null;
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Marks a specific tile within the room as being visible
        /// at the given time.
        /// </summary>
        /// <param name="pos">Position of the tile to mark as visible.</param>
        /// <param name="appearance">Appearance of the tile at the time
        /// of being seen.</param>
        /// <param name="time">Time at which the tile was seen.</param>
        public void Reveal(Position pos, TileAppearance appearance, ulong time)
        {
            _mask[pos.X, pos.Y] = Math.Max(_mask[pos.X, pos.Y], time);
            _tiles[pos.X, pos.Y] = appearance;

            LastVisibleTime = Math.Max(LastVisibleTime, time);
        }