public static string Translate(StairType stairType)
        {
            var prop = typeof(StairType).GetField(Enum.GetName(typeof(StairType), stairType));
            var attr = (DescriptionAttribute)prop.GetCustomAttributes(typeof(DescriptionAttribute), false)[0];

            return(attr.Description);
        }
 public Stair(int y, int x, StairType s) : base(Properties.Resources.Stair_Down, y, x)
 {
     Name      = "stairway";
     StairType = s;
     if (s == StairType.Up)
     {
         Description = "A set of stairs leading up.";
         Image       = Properties.Resources.Stair_Up;
     }
     else
     {
         Description = "A set of stairs leading down.";
     }
     IsWalkable = true;
 }
    public GameObject genStairAtRandom(StairType stairType = StairType.Normal)
    {
        Vector2 genPos = Vector2.Lerp(genPosBegin, genPosEnd, Random.value);

        GameObject prefab;

        switch (stairType)
        {
        case StairType.OnFire:
            prefab = fireStairPrefab;
            break;

        default:
            prefab = stairPrefab;
            break;
        }

        GameObject newStair = Instantiate(
            prefab,
            genPos,
            Quaternion.identity,
            transform
            );

        switch (stairType)
        {
        case StairType.Moving:
            MovingStair moving = newStair.AddComponent <MovingStair> ();
            moving.maxX            = Mathf.Min(genPos.x + movingRange, genPosEnd.x);
            moving.minX            = Mathf.Max(genPos.x - movingRange, genPosBegin.x);
            moving.speed           = movingSpeed;
            moving.turnaroundSound = turnaroundSound;
            break;

        case StairType.OnFire:
            DamagingTouch damaging = newStair.AddComponent <DamagingTouch> ();
            damaging.gameController = FindObjectOfType <GameController> ();
            damaging.hurt           = 10f;
            break;
        }

        return(newStair);
    }
Exemple #4
0
 /// <summary>
 /// De-serialize the component
 /// </summary>
 /// <param name="reader">Reader instance</param>
 public override void Read(BinaryReader reader)
 {
     floor = reader.ReadInt32();
     type  = (StairType)reader.ReadInt32();
 }