protected int SIGN; // 符号 //--------------------------------------- // constructor //--------------------------------------- public C23_MapArray(string name, C21_MapSize size, C22_MapAxis axis) { this.name = name; this.folder = new GameObject(this.name + "_Folder"); this.array = new GameObject[size.getMapSizeX(), size.getMapSizeZ()]; this.size = size; this.axis = axis; this.SIGN = 1; }
private bool isMapAppropriate; // プレイヤーがそのマップで移動可能かどうかの判定 //--------------------------------------- // constructor //--------------------------------------- public MapArrayFloor(string name, C21_MapSize size, C22_MapAxis axis) : base(name, size, axis) //配列の確保とfalseに初期化 { enemyFolder = new GameObject("EnemyFolder"); isMapAppropriate = false; isMoveArea = new bool[size.getMapSizeX(), size.getMapSizeZ()]; for (int z = 0; z < size.getMapSizeZ(); z++) { for (int x = 0; x < size.getMapSizeX(); x++) { isMoveArea[x, z] = false; } } }
private Vector3 scale; // 床ブロックのサイズ用 //--------------------------- // constructor //--------------------------- public C22_MapAxis(GameObject player, C21_MapSize size, Vector3 scale) { this.beforeAxis.x = 0; this.beforeAxis.x = 0; this.nowAxis.x = 0; this.nowAxis.z = 0; this.differenceAxis.x = 0; this.differenceAxis.z = 0; this.player = player; // 引数で受け渡された変数を参照する様に設定 this.size = size; // 引数で受け渡された変数を参照する様に設定 this.scale = scale; // Vector3型は値そのものがコピーされる。ブロックの大きさ }
public GameObject[] prefab_Enemy; // EnemyObjectPrefab配列 void Start() { player = GameObject.FindGameObjectWithTag("Player"); // プレイヤーオブジェクト格納 size = new C21_MapSize(MAP_SIZE_X, MAP_SIZE_Z); // MapSizeクラスのインスタンス生成 playerAxis = new C22_MapAxis(player, size, prefab_Block[0].transform.localScale); // PlayerAxisクラスのインスタンス生成 mapBlock = new MapArrayBlock(prefab_Block, "BLOCK", size, playerAxis); // 地面用MapArrayクラスのインスタンス生成 mapFloor = new MapArrayFloor("FLoor", size, playerAxis); // 地上用MapArrayクラスのインスタンス生成 mapFloor.setWall(prefab_WALL); // 壁オブジェクトを渡す mapFloor.setObstacle(prefab_WALL); // 障害物用に壁オブジェクトを渡す mapFloor.setEnemy(prefab_Enemy); // 敵Objectを渡す initialize(); // プレイヤー位置/マップ初期化 StartCoroutine("enemyEmitter", 1.0f); // 敵出現コルーチン開始 }
private GameObject[] block; // 床ブロックの参照用 //--------------------------------------- // constructor //--------------------------------------- public MapArrayBlock(GameObject[] obj, string name, C21_MapSize size, C22_MapAxis axis) : base(name, size, axis) { this.block = obj; // 引数で受け渡された変数を参照する様に設定。 this.SIGN = -1; // 床側なので、符合をマイナスに。 }