예제 #1
0
    // Start is called before the first frame update
    void Start()
    {
        GameInitialization.Initialize();
        if (SaveFileManager.IsFileOpened)
        {
            currentSave = SaveFileManager.Current;
            currentSave.RefreshStats(); // get the latest level statistics
        }
        var transform      = this.transform;
        var objectMaterial = Resources.Load("Materials/Object Material") as Material;

        UIGroup = transform.GetChild(5); // the map UI group
        //apply textures
        for (int i = 0; i < 4; i++)
        {
            var image  = transform.GetChild(i).GetComponent <Renderer>();
            var sprite = TextureLoader.RequestTexture($"Graphics/map{4-i}.bmp", null, true);
            image.material             = Instantiate(objectMaterial);
            image.material.mainTexture = sprite;
        }
        MarkerTemplate = transform.GetChild(4).gameObject; // marker sample
        LoadWaypoints();
        CurrentLevelIndicator = GetCursor();
        ChangeSelectedLevel(mparser.Levels.Keys.ElementAt(0));
    }
    // Start is called before the first frame update
    void Start()
    {
        GameInitialization.Initialize();
        scrollRegion = GetComponent <ScrollRect>();
        var bhav = GameObject.Find("EventSystem").GetComponent <MainMenuBehavior>();

        sampleButton = scrollRegion.content.transform.GetChild(0).gameObject.GetComponent <Button>();
        ButtonStyler.Style(sampleButton);
        playerNameField = transform.parent.transform.GetChild(4).gameObject;
        var saveFiles  = StinkyFile.Save.SaveFile.GetAllSaves();
        int lastHeight = 0;

        foreach (var save in saveFiles)
        {
            if (save.SaveFileInfo.IsBackup)
            {
                continue;
            }
            MakeButton(save.SaveFileInfo.PlayerName, ref lastHeight,
                       delegate
            {
                saveFileMode = false;
                playerNameField.SetActive(false);
                if (save == selected)
                {
                    bhav.GoToMapScreen(save);
                }
                else
                {
                    SoundLoader.Play("sb-type.wav", false).volume = .5f;
                    selected = save;
                    save.FullLoad();
                    SaveFileInfoPopulate.PopulateInfo(save);
                }
            });
        }
        var createButton = MakeButton("Create New Save File", ref lastHeight, delegate
        {
#if false
            if (!saveFileMode)
            {
                SaveFileInfoPopulate.PopulateInfo(null);
                playerNameField.SetActive(true);
                createButton.transform.GetChild(0).GetComponent <Text>().text = "OK";
                return;
            }
            var text = playerNameField.transform.GetChild(1).GetChild(1).GetComponent <Text>();
#endif
            var name = DateTime.Today.ToShortDateString();
            var save = new SaveFile(name);
            bhav.GoToMapScreen(save);
        });

        MakeButton("Go Back", ref lastHeight,
                   delegate
        {
            bhav.CloseSaveSelect();
        });
        (scrollRegion.content.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, lastHeight);
    }
예제 #3
0
        public MainWindow()
        {
            InitializeComponent();
            int mazeSize = 10;

            this.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;
            GameInitialization game = new GameInitialization(mazeSize);
        }
예제 #4
0
    // Start is called before the first frame update
    void Start()
    {
        GameInitialization.Initialize();
        ScrollRect scrollRegion  = GetComponent <ScrollRect>();
        var        mapScreenBhav = GameObject.Find("EventSystem").GetComponent <MapScreenBehavior>();

        sampleButton = scrollRegion.content.transform.GetChild(0).gameObject.GetComponent <Button>();
        ButtonStyler.Style(sampleButton);
        var parser = GameInitialization.GlobalParser;

        parser.FindAllLevels(Path.Combine(TextureLoader.AssetDirectory, "levels"));
        int lastHeight = 0, CURRENT = 0, lastAvailableLevel = 0;

        transforms.Clear();
        foreach (var level in parser.LevelInfo)
        {
            bool isAvailable = false;
            var  levelInfo   = level.GetSaveFileInfo(SaveFileManager.Current);
            isAvailable = levelInfo.IsAvailable;
            isAvailable = isAvailable ? true : CURRENT < 2; // first 2 levels always unlocked regardless
            isAvailable = true;
            var button    = Instantiate(sampleButton);
            var transform = button.gameObject.transform as RectTransform;
            transform.position = new Vector3(0, -lastHeight, 0);
            lastHeight        += (int)transform.rect.height + 10;
            var name = ((isAvailable) ? "" : "LOCKED - ") + (levelInfo.WasPerfect ? "*" : "") + level.Name + (levelInfo.WasPerfect ? "*" : "");
            if (name.Length > 25)
            {
                name = name.Substring(0, 25) + "...";
            }
            transform.GetChild(0).GetComponent <Text>().text = name;
            transform.SetParent(scrollRegion.content, false);
            button.gameObject.SetActive(true);
            if (isAvailable)
            {
                button.onClick.AddListener(delegate
                {
                    if (selected != level)
                    {
                        selected = level;
                        mapScreenBhav.SelectLevelOnMap(level);
                        return;
                    }
                    mapScreenBhav.GoToLevel(Path.GetFileName(level.LevelFilePath).Replace(".lv5", ""));
                });
            }
            else
            {
                button.spriteState = new SpriteState(); // make sure hovering doesn't work on these.
            }
            transforms.Add(level, transform);
            CURRENT++;
        }
        (scrollRegion.content.transform as RectTransform).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, lastHeight);
        OnLevelsLoaded?.Invoke(this, null);
    }
예제 #5
0
 /// <summary>
 /// Automatically starts loading the level using <see cref="LoadLevelName"/>
 /// </summary>
 void Awake()
 {
     GameInitialization.Initialize();
     levelSwapping = false;
     LevelMusic    = GameObject.Find("Level Music Provider").GetComponent <AudioSource>();
     IsDone        = false;
     if (LoadLevelName != null)
     {
         LoadLevel();
     }
 }
예제 #6
0
        private static void Main(string[] args)
        {
            var gameSetup = new GameInitialization();
            gameSetup.SetupGame();

            var life = new GenerationManager(
                gameSetup,
                new ConsoleRenderer()
            );
            life.StartLife();
        }
예제 #7
0
    // Start is called before the first frame update
    void Start()
    {
        GameInitialization.Initialize();
        GameObject.Find("Version Number").GetComponent <Text>().text = $"Version {Application.version} - Unity Version {Application.unityVersion} - Jeremy GlaZebrook"; // if you change this im killing u :)
        string fileName = Path.Combine(TextureLoader.AssetDirectory, "music", "res3.ogg");
        WWW    data     = new WWW(fileName);

        while (!data.isDone)
        {
        }
        AudioClip ac     = data.GetAudioClipCompressed(false, AudioType.OGGVORBIS) as AudioClip;
        var       source = GameObject.Find("Music").GetComponent <AudioSource>();

        source.clip = ac;
        source.Play();
    }
    private void Load()
    {
        if (loaded)
        {
            return;
        }
        GameInitialization.Initialize();
        LevelDataBlock block = default;

        switch (Mode)
        {
        case KQLoaderMode.GUID:
            block = LevelDataBlock.LoadFromDatabase(BlockGUID, out bool success);
            break;

        case KQLoaderMode.Name:
            block = LevelDataBlock.LoadFromDatabase(BlockName);
            break;
        }
        if (block != null)
        {
            var newObject = CreateKrabbyQuestObject(block, 0, 0, ApplyMaterial);
            newObject.SetActive(true);
            var lTransform = newObject.transform;
            var scale      = newObject.transform.localScale;
            lTransform.parent        = transform;
            lTransform.localPosition = new Vector3(0, 0, 0);
            lTransform.localRotation = new Quaternion();
            lTransform.localScale    = scale;
            if (RemoveAnimation)
            {
                var anim = newObject.GetComponentInChildren <Animator>();
                if (anim != null)
                {
                    if (Application.isPlaying)
                    {
                        Destroy(anim);
                    }
                }
            }
            newObject.name = block.Name;
            Debug.Log(block.Name + " loaded");
        }
        loaded = true;
    }
예제 #9
0
    // Start is called before the first frame update
    void Start()
    {
        GameInitialization.Initialize();
        var transform       = this.transform as RectTransform;
        var screenTransform = GameObject.Find("Canvas").transform as RectTransform;
        //scale map
        var part  = transform.rect.height;
        var whole = screenTransform.rect.height;
        var ratio = whole / part;

        transform.localScale = new Vector3(ratio, ratio, 1);
        //apply textures
        for (int i = 1; i < 5; i++)
        {
            var image  = transform.GetChild(i).GetComponent <Image>();
            var rectT  = ((RectTransform)image.gameObject.transform).rect;
            var sprite = Sprite.Create(TextureLoader.RequestTexture($"Graphics/map{i}.bmp", "0,0,0", true),
                                       new Rect(0, 512 - rectT.height, rectT.width, rectT.height), new Vector2());
            image.sprite = sprite;
        }
    }
예제 #10
0
 // Start is called before the first frame update
 void Start()
 {
     GameInitialization.Initialize(); // make sure we are able to load textures at this point
     GetComponent <Renderer>().material.mainTexture = TextureLoader.RequestTexture("Graphics/title.bmp", "0,0,0", true);
 }
예제 #11
0
 // Start is called before the first frame update
 void Start()
 {
     GameInitialization.Initialize();
     Style(GetComponent <Button>());
 }