Ejemplo n.º 1
0
        public MapManager(Map2D map, GameObject camera, GameObject littleMap, int extra)
        {
            this.camera    = camera;
            this.bufferMap = new BufferMap(map, Player.PositOnScene.Copy(), extra);

            this.littleMap = new LittleMap(littleMap, map);


            camera.transform.position = new Vector3(bufferMap.center.X.value, bufferMap.center.Y.value, -1);
            bufferMap.ShowMap();
        }
Ejemplo n.º 2
0
    // Use this for initialization.
    void Start()
    {
        // [遊戲素材設定]
        GlobalAsset.controller = this;

        // 物件造型.
        Maze.Animal.SetShape(new Maze.Shape(animalShapes));
        Maze.Stone.SetSprite(stoneSprite);
        Maze.Creater.SetSprite(createrSprite);
        Maze.Food.SetSprite(foodSprite);
        Maze.Wall.SetSprite(wallSprite);

        // 技能音效.
        Maze.SkillManager.attack        = punchAudio;
        Maze.SkillManager.specialAttack = otherSkillAudio;
        Maze.SkillManager.build         = buildAudio;

        // 技能造型.
        GlobalAsset.gridSprites = gridSprites;
        GlobalAsset.attack      = attack;
        GlobalAsset.straight    = straight;
        GlobalAsset.horizon     = horizon;
        GlobalAsset.create      = create;

        // 小地圖標示.
        GlobalAsset.playerMark  = playerMark;
        GlobalAsset.createrMark = createrMark;

        // UI提示框.
        GlobalAsset.positionHint = positionHint;
        GlobalAsset.hintBox      = hintBox;
        GlobalAsset.talkBox      = talkBox;


        // [遊戲地圖設定]
        // 放幾個gridSprite就生成幾層世界.
        gameMap  = new Maze.Map3D(GlobalAsset.mapSize, GlobalAsset.mapSize, gridSprites.Length);
        sceneMap = new Maze.Map2D(gameMap);
        Maze.MazeObject.SetMaze(gameMap);

        // [劇情]
        storyManager = new Story.StoryManager();


        // 在每個平面執行動作.
        for (int layer = 0; layer < Maze.MazeObject.World.Layers; ++layer)
        {
            // 創造6個不同顏色的村莊.
            for (int i = 0; i < 6; ++i)
            {
                Maze.Point3D position = gameMap.GetRandomPointOn(layer);
                Maze.Creater creater  = new Maze.Creater(position, GlobalAsset.colors[i]);

                if (gameMap.GetAt(position).InsertObj(creater))
                {
                    GlobalAsset.creaters.Add(creater);
                    creater.FullEnergy();
                    // 在每個村莊生成3隻村民.
                    creater.createAnimals(3);
                }

                else // 這個位置已經有東西了.
                {
                    --i;
                }
            }
        }

        // clock 歸零.
        timer = 0;
    }
Ejemplo n.º 3
0
 public LittleMap(GameObject littleMap, Map2D map)
 {
     this.objsForLittleMap = new List <Mark>();
     this.map = map;
 }