示例#1
0
 public static Dictionary <string, dynamic> CreateUnitConfig(General3dWorldObject obj) => new Dictionary <string, dynamic>
 {
     ["DisplayTranslate"]    = LevelIO.Vector3ToDict(obj.DisplayTranslation, 100f),
     ["GenerateCategory"]    = "",
     ["ParameterConfigName"] = obj.ClassName,
     ["PlacementTargetFile"] = "Map"
 };
示例#2
0
        public void Save(ByamlNodeWriter writer, DictionaryNode objNode, int zoneID)
        {
            objNode.AddDynamicValue("Comment", null);
            objNode.AddDynamicValue("Id", "zone" + zoneID);
            objNode.AddDynamicValue("IsLinkDest", false);
            objNode.AddDynamicValue("LayerConfigName", Layer);

            {
                objNode.AddDynamicValue("Links", new Dictionary <string, dynamic>(), true);
            }

            objNode.AddDynamicValue("ModelName", null);
            objNode.AddDynamicValue("Rotate", LevelIO.Vector3ToDict(Rotation), true);
            objNode.AddDynamicValue("Scale", LevelIO.Vector3ToDict(Vector3.One), true);
            objNode.AddDynamicValue("Translate", LevelIO.Vector3ToDict(Position, 100f), true);

            objNode.AddDynamicValue("UnitConfig", new Dictionary <string, dynamic>
            {
                ["DisplayName"]         = "�R�C��(�����O�z�u)",
                ["DisplayRotate"]       = LevelIO.Vector3ToDict(Vector3.Zero),
                ["DisplayScale"]        = LevelIO.Vector3ToDict(Vector3.One),
                ["DisplayTranslate"]    = LevelIO.Vector3ToDict(Vector3.Zero),
                ["GenerateCategory"]    = "",
                ["ParameterConfigName"] = "Zone",
                ["PlacementTargetFile"] = "Map"
            }, true);

            objNode.AddDynamicValue("UnitConfigName", Zone.StageName);
        }
示例#3
0
    void OnEnable()
    {
        if (levels == null)
        {
            levels = LevelIO.getLevelsInDirectory();
        }

        levelList.GetComponent <RectTransform>().sizeDelta = new Vector2(960, levels.Length * 72);
        GameObject currentLevelSign;

        for (int i = 0; i < levels.Length; i++)
        {
            currentLevelSign = (GameObject)Instantiate(levelTimePrefab, levelList);
            currentLevelSign.transform.localPosition = Vector3.down * (i + 0.5f) * 72;
            currentLevelSign.transform.GetChild(0).GetComponent <TMPro.TMP_Text>().text       = levels[i];
            currentLevelSign.transform.GetChild(1).GetComponent <TMPro.TMP_InputField>().text = LevelTimeTargets.getTarget(levels[i]).ToString();
            string name = levels[i];
            TMPro.TMP_InputField field = currentLevelSign.transform.GetChild(1).GetComponent <TMPro.TMP_InputField>();
            field.onSubmit.AddListener(delegate { SubmitTime(field, name); });
            field.onDeselect.AddListener(delegate { SubmitTime(field, name); });
        }
        exitButton.onClick.AddListener(delegate {
            SceneManager.SetActiveScene(SceneManager.GetSceneByName("MainMenu"));
            SceneManager.UnloadSceneAsync(SceneManager.GetSceneByName("TimeTaken"));
        });
    }
示例#4
0
 public static Dictionary <string, dynamic> CreateUnitConfig(string className) => new Dictionary <string, dynamic>
 {
     ["DisplayName"]         = className,
     ["DisplayTranslate"]    = LevelIO.Vector3ToDict(Vector3.Zero),
     ["GenerateCategory"]    = "",
     ["ParameterConfigName"] = className,
     ["PlacementTargetFile"] = "Map"
 };
 public static void LoadLevel(string levelName, bool isUserLevel)
 {
     if (currentLevelGO != null)
     {
         Object.DestroyImmediate(currentLevelGO);
     }
     MakeLevel(LevelIO.LoadLevel(levelName, isUserLevel));
 }
 public static void SaveCurrentLevel(bool isUserLevel)
 {
     if (currentLevel.name.Contains(" "))
     {
         currentLevel.name = currentLevel.name.Replace(' ', '_');
     }
     LevelIO.SaveLevel(currentLevel, isUserLevel);
 }
示例#7
0
        public FugamClientForm()
        {
            InitializeComponent();
            _gsm = new GameStateManager(mainPanel.Width, mainPanel.Height);
            Graphics g = mainPanel.CreateGraphics();

            _gsm.StartGame(g);
            LevelIO.SetPath();
        }
示例#8
0
    private void OnEnable()
    {
        int numberOfLevels = levelList.childCount;

        if (bundles == null)
        {
            bundles = FindObjectOfType <LevelBundles>();
        }
        ((RectTransform)levelList).sizeDelta = new Vector2(0, (int)(bundles.AllActiveLevels().Length / 4f) * 300 + 15 + 60 * (LevelIO.getLevelsInDirectory(true).Length + 1));
        int playedLevels = 0;

        for (int i = 0; i < bundles.bundles.Length; i++)
        {
            foreach (string level in bundles.bundles[i].levels)
            {
                if (Scores.GetHighscore(level) > 0)
                {
                    playedLevels++;
                }
            }
            if (i > 0)
            {
                if (2 <= playedLevels)
                {
                    CreateBundle(bundles.bundles[i], numberOfLevels++);
                }
                playedLevels = 0;
            }
            else
            {
                CreateBundle(bundles.bundles[i], numberOfLevels++);
            }
        }
        Transform UserLevels = ((GameObject)Instantiate(userLevelPrefab, levelList)).transform;

        UserLevels.localPosition = new Vector3(UserLevels.localPosition.x, (int)(bundles.AllActiveLevels().Length / 4f) * -300 - 45, UserLevels.localPosition.z);
        UserLevels.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 60 * (LevelIO.getLevelsInDirectory(true).Length + 1));
        int index = 1;

        foreach (string level in LevelIO.getLevelsInDirectory(true))
        {
            GameObject UserLevelButton = (GameObject)Instantiate(userLevelButtonPrefab, UserLevels.transform);
            Button     b = UserLevelButton.GetComponent <Button>();
            b.name = level;
            UserLevelButton.transform.localPosition = new Vector3(-10f, -30f - index * 60f + 45f, 0f);
            string levelName = level;
            b.onClick.AddListener(delegate { b.interactable = false; GameLevelLoader.LoadLevel(level, true); });
            b.transform.GetChild(0).GetComponent <Text>().text = "\t\t" + level;
            b.transform.GetChild(1).GetComponent <Text>().text = Scores.GetHighscore(level) + "\t\t";
            index++;
        }
    }
示例#9
0
 /// <summary>
 /// Starts the server
 /// </summary>
 private void ServerStart()
 {
     level = LevelIO.ReadJSON(levelLocation);
     level.SetupLevel(protagonistWeight, enemyWeight);
     //Update levelLocation to include weights
     ServerDataManager.Instance.levelJson = JsonConvert.SerializeObject(level);
     SetupExits();
     SetupRotationTimer();
     ServerDataManager.Instance.Level = level;
     this.listener = new TcpListener(IPAddress.Any, PORT_NO);
     //Run Client listining on a different thread so that it does not block the main thread
     this.listenThread = new Thread(new ThreadStart(ClientConnection));
     listenThread.Start();
 }
示例#10
0
 public static void Main(params string[] inputStrings)
 {
     //Creates a new json file
     if (inputStrings.Length > 0 && inputStrings[0] == "create")
     {
         LevelIO.CreateJSON();
     }
     else
     {
         //starts the WPF UI
         App app = new App();
         app.InitializeComponent();
         app.Run();
     }
 }
示例#11
0
        private void BtnPlay_OnClick(object sender, RoutedEventArgs e)
        {
            //Check to see if the user has selected an item
            if (lstLevels.SelectedIndex == -1)
            {
                MessageBox.Show("Please select a level");
                return;
            }

            //Convert selected string to Level file
            string fullFileName = string.Format("{0}\\{1}.level", App.AppDir, lstLevels.SelectedItem);

            selectedLevel      = LevelIO.ReadJSON(fullFileName);
            selectedLevel.Name = lstLevels.SelectedItem.ToString();
            //Send back to previous page
            goBack = true;
        }
示例#12
0
    IEnumerator Uploader()
    {
        WWWForm form = new WWWForm();

        form.AddField("action", "upload level");
        form.AddField("file", "file");
        form.AddBinaryData("file", LevelIO.GetBytes(level.Level), "test.cowl", "application/octet-stream");

        www = new WWW(uploadUrl, form);
        yield return(www);

        if (www.error != null)
        {
            Debug.LogError(www.error);
        }
        else
        {
            UploadComplete();
        }
    }
示例#13
0
        public static void UpdateCustom(Arkanoid game)
        {
            var folder = AsyncIO.CreateFolderAsync(ApplicationData.Current.RoamingFolder, "Custom");
            var files  = AsyncIO.GetFilesAsync(folder).Where(f => f.Name.EndsWith(".level"));
            var levels = files.ToList();

            if (levels.Count != 0)
            {
                var levelList =
                    levels.Select(
                        f => new KeyValuePair <Level, Level>(LevelIO.ReadLevel(AsyncIO.ReadTextFileAsync(f)), null))
                    .ToList();
                var customWad = new LevelWad(game, "Custom", Textures.CmnTitle, Textures.CmnVerCustom, levelList);
                var ow        = Wads.Find(p => p.Name == "Custom");
                if (ow != null)
                {
                    Wads.Remove(ow);
                }
                Wads.Add(customWad);
            }
        }
    private void OnEnable()
    {
        editorNavigation.HidePreviewCursor(true);

        string[] levels = LevelIO.getLevelsInDirectory(true);

        GameObject currentLevelButton;

        ((RectTransform)levelList).sizeDelta = new Vector2(0, levels.Length * 64);
        foreach (string level in levels)
        {
            if (levelList.Find(level))
            {
                continue;
            }
            currentLevelButton = (GameObject)Instantiate(levelListPrefab, levelList);
            string s = level;
            currentLevelButton.name = level;
            currentLevelButton.GetComponentInChildren <TMPro.TextMeshProUGUI>().text = level;
            currentLevelButton.transform.localPosition = new Vector3(450f, -32f - 64f * numberOfLevels++, 0f);
            currentLevelButton.GetComponent <Button>().onClick.AddListener(delegate { LevelManager.LoadLevel(s, true); Hide(); });
        }
    }
示例#15
0
 public void LoadFromFile(string name)
 {
     ClearLevel();
     MakeLevelFromData(LevelIO.LoadFromFile(name));
 }
示例#16
0
 public void SaveToFile(string name)
 {
     LevelIO.SaveToFile(level, name);
 }
示例#17
0
    protected override void AD2Logic(int ms, KeyboardState keyboardState, SlimDX.DirectInput.JoystickState[] gamePadState)
    {
        mouseX = Mouse.GetState().X;
        mouseY = Mouse.GetState().Y;


        //Minus = object left
        if (keyboardState.IsKeyDown(Keys.OemMinus) && genericNewKey)
        {
            if (putPointer == 0)
            {
                putPointer = TextureList.Length - 1;
            }
            else
            {
                putPointer = putPointer - 1;
            }
        }

        //Plus = object forward
        if (keyboardState.IsKeyDown(Keys.OemPlus) && genericNewKey)
        {
            putPointer = (putPointer + 1) % TextureList.Length;
        }

        //Click = place or erase object.
        if (Mouse.GetState().LeftButton == ButtonState.Pressed && !newMouseLeft)
        {
            if (putMode)
            {
                AD2Object a = new AD2Object();
                a.X       = camX + mouseX;
                a.Y       = camY + mouseY;
                a.t       = TextureList[putPointer];
                a.collide = CollideTextureList[putPointer];
                a.name    = TextureName[putPointer];
                //Where is the bottom?
                if (collide(0, 0, baseMap.Width, baseMap.Height, a.X, a.Y))
                {
                    objectsList[a.Y + (a.t.Height - 1)].AddFirst(a);
                }
            }
            else
            {
                for (int i = 0; i != objectsList.Length; i++)
                {
                    LinkedList <AD2Object> removeList = new LinkedList <AD2Object>();

                    foreach (AD2Object a in objectsList[i])
                    {
                        if (collide(a.X, a.Y, a.t.Width, a.t.Height, camX + mouseX, camY + mouseY))
                        {
                            removeList.AddFirst(a);
                        }
                    }

                    foreach (AD2Object a in removeList)
                    {
                        objectsList[i].Remove(a);
                    }
                }
            }
        }


        // mode switch
        if (Mouse.GetState().RightButton == ButtonState.Pressed && !newMouseRight)
        {
            putMode = !putMode;
        }

        if (keyboardState.IsKeyDown(Keys.F1) && genericNewKey)
        {
            generateNew();
        }

        if (keyboardState.IsKeyDown(Keys.F2) && genericNewKey)
        {
            LevelIO.Save(this);
        }

        if (keyboardState.IsKeyDown(Keys.F3) && genericNewKey)
        {
            loadNew();
        }


        if (keyboardState.IsKeyDown(Keys.C) && genericNewKey)
        {
            objectsCanCollide = !objectsCanCollide;
        }

        if (keyboardState.IsKeyDown(Keys.V) && genericNewKey)
        {
            switch (Viewmode)
            {
            case Viewmodes.Collide:
                Viewmode = Viewmodes.Object;
                break;

            case Viewmodes.FiftyPercent:
                Viewmode = Viewmodes.Collide;
                break;

            case Viewmodes.Object:
                Viewmode = Viewmodes.FiftyPercent;
                break;
            }
        }

        newMouseLeft  = Mouse.GetState().LeftButton == ButtonState.Pressed;
        newMouseRight = Mouse.GetState().RightButton == ButtonState.Pressed;
        genericNewKey = keyboardState.GetPressedKeys().Length == 0;


        if (mouseX < BaseWidth * TRANSITION_AREA)
        {
            camX -= SCROLL_SPEED;
        }
        if (mouseX > BaseWidth * (1.0 - TRANSITION_AREA))
        {
            camX += SCROLL_SPEED;
        }

        if (mouseY < BaseHeight * TRANSITION_AREA)
        {
            camY -= SCROLL_SPEED;
        }
        if (mouseY > BaseHeight * (1.0 - TRANSITION_AREA))
        {
            camY += SCROLL_SPEED;
        }
    }
示例#18
0
 private void updateLists()
 {
     levels = LevelIO.getLevelsInDirectory();
     LevelTimeTargets.SaveLevels();
 }