Beispiel #1
0
        public override void OnInspectorGUI()
        {
            //値の変更をする
            Undo.RecordObject(target, "move");
            // target は処理コードのインスタンスだよ! 処理コードの型でキャストして使ってね!
            MoveFloor move = target as MoveFloor;

            // -- カスタム表示

            // -- 速度 --
            move.speed = EditorGUILayout.FloatField("速度", move.speed);

            // -- 動く範囲 --
            move.length = EditorGUILayout.FloatField("動く範囲", move.length);

            // -- 床とスイッチの紐づけ --
            move.FlagNo = EditorGUILayout.IntField("スイッチとの紐づけ", move.FlagNo);

            // -- 移動方向 --
            move.MoveDirectionFlag = EditorGUILayout.Toggle("チェックなら縦移動", move.MoveDirectionFlag);

            // -- スイッチ式かどうか
            move.SwichType = EditorGUILayout.Toggle("スイッチ式かどうか", move.SwichType);

            //値の変更を保存
            EditorUtility.SetDirty(move);
        }
 void Resize()
 {
     Undo.RecordObjects(targets, "Resize");
     foreach (var t in targets)
     {
         MoveFloor lMoveFloor = t as MoveFloor;
         lMoveFloor.Resize();
     }
 }
Beispiel #3
0
 private void CarryDown()
 {
     Status = "Carry down";
     UpdateStatus?.Invoke(Status);
     DataBase.Direction = 1;
     while (CurrentFloor != ElevatorList[0])
     {
         CurrentFloor -= DataBase.Direction;
         CarryFloor?.Invoke();
         MoveFloor?.Invoke();
         Thread.Sleep(3000);
         AddFloor?.Invoke();
     }
     Stand();
 }
Beispiel #4
0
 private void GoEmtyToCall()
 {
     Status = "Go emty to call";
     UpdateStatus?.Invoke(Status);
     NumIdleTransport++;
     if (ElevatorList[0] > CurrentFloor)
     {
         DataBase.Direction = -1;
     }
     else
     {
         DataBase.Direction = 1;
     }
     while (CurrentFloor != ElevatorList[0])
     {
         CurrentFloor -= DataBase.Direction;
         MoveFloor?.Invoke();
         Thread.Sleep(3000);
     }
     Stand();
 }
Beispiel #5
0
    // 무브플로어 생성
    #region Create MoveFloor List

    public void Create_MoveFloor()
    {
        for (int i = 0; i < mMax_X; i++)
        {
            mFloorList.Add(new List <GameObject>());
            for (int j = 0; j < mMax_Y; j++)
            {
                //생성부
                GameObject obj = GameObject.Instantiate(mFloorPrefab);
                //변형부
                mMoveFloor             = obj.GetComponent <MoveFloor>();
                mMoveFloor.mX          = i;
                mMoveFloor.mY          = j;
                obj.name               = "MoveFloor [" + i + "], [" + j + "]";
                obj.transform.parent   = mFloorParent;
                obj.transform.position = new Vector3(2.5f * i, 0.1f, 2.5f * j);
                //저장부
                mFloorList[i].Add(obj);
            }
        }
        mFloorParent.transform.rotation = Quaternion.Euler(0, -90, 0);
    }