Beispiel #1
0
    // Start is called before the first frame update
    void Start()
    {
        buttons = new Dictionary <BuilderManager.BlockCategory, List <Button> >();
        bm      = BuilderManager.Instance;
        am      = AssetsManager.Instance;
        sm      = SaveManager.Instance;
        gm      = GameManager.Instance;
        am.LoadAssetBundle("spriteblockbundle");
        am.LoadAssetBundle("spritemovementbundle");
        am.LoadAssetBundle("spriteweaponbundle");

        bm.OnStartGame               += DisableHUDOnStartGame;
        bm.OnLoading                 += OnLoading;
        sm.OnFailedSaveGame          += PrintFailed;
        sm.OnSuccessSaveGame         += PrintSuccess;
        GameManager.Instance.OnPause += OnPause;
        gm.OnEndLevel                += PrintSuccess;

        dicoBlocks = new Dictionary <BuilderManager.BlockCategory, Dictionary <string, Sprite> >();
        //load all sprite from every sprite bundle
        //it will be change in the future
        for (int i = 0; i < (int)BuilderManager.BlockCategory.total; i++)
        {
            dicoBlocks[(BuilderManager.BlockCategory)i] = new Dictionary <string, Sprite>();
        }

        foreach (Sprite go in am.LoadingAllAssets <Sprite>("spriteblockbundle"))
        {
            dicoBlocks[BuilderManager.BlockCategory.block].Add(go.name, go);
        }
        foreach (Sprite go in am.LoadingAllAssets <Sprite>("spritemovementbundle"))
        {
            dicoBlocks[BuilderManager.BlockCategory.movement].Add(go.name, go);
        }
        foreach (Sprite go in am.LoadingAllAssets <Sprite>("spriteweaponbundle"))
        {
            dicoBlocks[BuilderManager.BlockCategory.weapon].Add(go.name, go);
        }
        CreateInterface(BuilderManager.BlockCategory.block);
        CreateInterface(BuilderManager.BlockCategory.movement);
        CreateInterface(BuilderManager.BlockCategory.weapon);

        for (int i = 0; i < buttonCanvas.Length; i++)
        {
            BuilderManager.BlockCategory type = (BuilderManager.BlockCategory)i;
            buttonCanvas[i].onClick.AddListener(() => ChangeTypeBlock(type));
        }

        load.onClick.AddListener(() => bm.LoadVehicle());
        save.onClick.AddListener(() => bm.SaveVehicle());
        edition.onClick.AddListener(() => bm.GoToEditionMode());
        destruction.onClick.AddListener(() => bm.GoToDeleteMode());
        destructionAll.onClick.AddListener(() => bm.DeleteAll());
        play.onClick.AddListener(() => bm.StartGame());
        menu.onClick.AddListener(() => gm.GoBackMenu());
        menuPause.onClick.AddListener(() => gm.GoBackMenu());
        reset.onClick.AddListener(() => gm.ResetLevel());

        slider.onValueChanged.AddListener(ChangeForce);

        inputButton.onClick.AddListener(OnInput);
    }