73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| 
 | |
| public enum ElevatorMoveState
 | |
| {
 | |
|     NotMoving,
 | |
|     Ascending,
 | |
|     Decending
 | |
| }
 | |
| 
 | |
| public class ElevatorStatusPlate : MonoBehaviour
 | |
| {
 | |
|     [System.Serializable]
 | |
|     public struct FloorNumbers
 | |
|     {
 | |
|         public int floorNumber;
 | |
|         public GameObject floorNumberSprite;
 | |
|     }
 | |
| 
 | |
|     public List<FloorNumbers> floorNumbers;
 | |
| 
 | |
|     public GameObject upArrow;
 | |
|     public GameObject downArrow;
 | |
| 
 | |
|     private ElevatorMoveState moveState;
 | |
| 
 | |
| 
 | |
|     // Start is called before the first frame update
 | |
|     void Start()
 | |
|     {
 | |
|         SetMoveState(ElevatorMoveState.NotMoving);
 | |
|     }
 | |
| 
 | |
|     public void SetMoveState(ElevatorMoveState newState)
 | |
|     {
 | |
|         if (newState == ElevatorMoveState.NotMoving)
 | |
|         {
 | |
|             upArrow.SetActive(false);
 | |
|             downArrow.SetActive(false);
 | |
|         }
 | |
|         else if (newState == ElevatorMoveState.Ascending)
 | |
|         {
 | |
|             upArrow.SetActive(true);
 | |
|             downArrow.SetActive(false);
 | |
|         }
 | |
|         else
 | |
|         {
 | |
|             upArrow.SetActive(false);
 | |
|             downArrow.SetActive(true);
 | |
|         }
 | |
|         this.moveState = newState;
 | |
| 
 | |
|     }
 | |
| 
 | |
|     public void UpdateDisplayFloorNumber(int newValue)
 | |
|     {
 | |
|         foreach (var f in floorNumbers)
 | |
|         {
 | |
|             if (f.floorNumber != newValue)
 | |
|                 f.floorNumberSprite.SetActive(false);
 | |
|             else
 | |
|                 f.floorNumberSprite.SetActive(true);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     // Update is called once per frame
 | |
|     void Update()
 | |
|     {
 | |
|         
 | |
|     }
 | |
| }
 |