Exemple #1
0
    void DrawnSpawnPointsUI()
    {
        EditoolsLayout.Horizontal(true);
        EditoolsBox.HelpBoxInfo("Add Spawn Point");

        EditoolsLayout.Vertical(true);
        EditoolsButton.Button("+", Color.green, eTarget.AddPoint);
        EditoolsButton.ButtonWithConfirm("Clear Points", Color.red, eTarget.Clear, "Remove All ?", "Remove All Point ?", _showCondition: eTarget.SpawnPoints.Count > 0);
        EditoolsLayout.Vertical(false);

        EditoolsLayout.Horizontal(false);


        EditoolsLayout.Space(2);

        for (int i = 0; i < eTarget.SpawnPoints.Count; i++)
        {
            EditoolsLayout.Horizontal(true);
            EditoolsBox.HelpBox($"SpawnPoint {i+1}");
            EditoolsButton.ButtonWithConfirm("X", Color.red, eTarget.Remove, i, "Remove Point ?", "Remove This Point ?");

            EditoolsLayout.Horizontal(false);

            if (i > eTarget.SpawnPoints.Count - 1)
            {
                return;
            }

            SM_SpawnPoint _point = eTarget.SpawnPoints[i];
            EditoolsLayout.Foldout(ref _point.IsVisible, "Show/Hide");

            if (!_point.IsVisible)
            {
                continue;
            }

            EditoolsField.Vector3Field("Position", ref _point.Position);
            EditoolsField.Vector3Field("Size", ref _point.Size);

            EditoolsField.Toggle("Use Delay ?", ref _point.UseDelay);
            if (_point.UseDelay)
            {
                _point.SpawnDelay = EditorGUILayout.Slider("Spawn Delay", _point.SpawnDelay, 0, 15);
            }
            else
            {
                _point.SpawnDelay = 0;
            }

            EditoolsField.Toggle("Use Trigger ?", ref _point.UseTrigger);

            EditoolsLayout.Space();

            EditoolsLayout.Space(1);

            DrawSpawnModeUI(_point);

            DrawnAgentUI(_point);
        }
    }
Exemple #2
0
    void DrawnAgentUI(SM_SpawnPoint _point)
    {
        EditoolsField.Toggle("Unique Agent? ", ref _point.IsMonoAgent);
        EditoolsLayout.Space(5);

        if (_point.IsMonoAgent)
        {
            EditoolsLayout.Horizontal(true);
            _point.MonoAgent = (GameObject)EditoolsField.ObjectField(_point.MonoAgent, typeof(GameObject), false);
            EditoolsButton.ButtonWithConfirm("X", Color.red, _point.RemoveAgent, "Remove Agent", "Remove Agent?");
            EditoolsLayout.Horizontal(false);
        }
        else
        {
            EditoolsLayout.Horizontal(true);
            EditoolsBox.HelpBoxInfo($"Add agent to spawn");
            EditoolsLayout.Vertical(true);
            EditoolsButton.Button("Add Agent", Color.cyan, _point.AddAgent);
            EditoolsButton.ButtonWithConfirm("Clear", Color.red, _point.ClearAgents, "Clear Agents", "Clear All Agents ?",
                                             _showCondition: _point.Agents.Count > 0);
            EditoolsLayout.Vertical(false);
            EditoolsLayout.Horizontal(false);

            for (int j = 0; j < _point.Agents.Count; j++)
            {
                EditoolsLayout.Horizontal(true);
                _point.Agents[j] = (GameObject)EditoolsField.ObjectField(_point.Agents[j], typeof(GameObject), false);
                EditoolsButton.ButtonWithConfirm("X", Color.red, _point.RemoveAgent, j, "Remove Agent ?",
                                                 "Remove This Agent ?");
                EditoolsLayout.Horizontal(false);
            }
        }
    }
Exemple #3
0
 void GetModeScene(SM_SpawnPoint _point)
 {
     for (int i = 0; i < _point.SpawnModes.Count; i++)
     {
         SM_SpawnMode _mode = _point.SpawnModes[i];
         DrawModeScene(_mode, _point);
     }
 }
 public void SetData(SM_SpawnPoint _data)
 {
     data = _data;
     transform.position = _data.Position;
     if (triggerZone)
     {
         triggerZone.size = data.Size;
     }
 }
Exemple #5
0
    void DrawSpawnPointScene()
    {
        for (int i = 0; i < eTarget.SpawnPoints.Count; i++)
        {
            SM_SpawnPoint _point = eTarget.SpawnPoints[i];

            EditoolsHandle.SetColor(Color.green);
            EditoolsHandle.DrawWireCube(_point.Position, _point.Size);
            EditoolsHandle.SetColor(Color.white);

            EditoolsHandle.PositionHandle(ref _point.Position, Quaternion.identity);
            EditoolsHandle.ScaleHandle(ref _point.Size, _point.Position, Quaternion.identity, 2);
            EditoolsLayout.Space();

            GetModeScene(_point);
        }
    }
    void DrawSpawnModeUI(SM_SpawnPoint _point)
    {
        EditoolsLayout.Horizontal(true);
        EditoolsBox.HelpBoxInfo("Add Spawn Mode");

        EditoolsLayout.Vertical(true);
        EditoolsButton.Button("+", Color.green, _point.AddMode);
        EditoolsButton.ButtonWithConfirm("#", Color.red, _point.ClearModes, "Remove All ?", "Remove All Mode ?", _showCondition: _point.SpawnModes.Count > 0);
        EditoolsLayout.Vertical(false);

        EditoolsLayout.Horizontal(false);
        for (int i = 0; i < _point.SpawnModes.Count; i++)
        {
            SM_SpawnMode _mode = _point.SpawnModes[i];

            EditoolsLayout.Horizontal(true);
            _mode.Type = (SM_SpawnType)EditoolsField.EnumPopup("Mode Type", _mode.Type);
            EditoolsButton.ButtonWithConfirm("X", Color.red, _point.RemoveMode, i, "Remove Mode ?", "Remove This Mode ?");
            EditoolsLayout.Horizontal(false);
            DrawModeSettingsUI(_mode);
        }
    }
Exemple #7
0
 void DrawModeScene(SM_SpawnMode _mode, SM_SpawnPoint _point)
 {
     _mode.Mode.DrawLinkTosSpawner(_point.Position);
     _mode.Mode.DrawSceneMode();
 }