コード例 #1
0
    public void Init(bool local)
    {
        settings = Session.session.arenaSettings;

        if (settings == null)
        {
            GD.Print("Using default arena settings.");
            settings = new ArenaSettings();
        }

        this.local = local;
        actors     = new List <Actor>();
        scores     = new System.Collections.Generic.Dictionary <int, int>();

        InitTerrain();
        InitSpawnPoints();

        if (local)
        {
            LocalInit();
        }
        else
        {
            OnlineInit();
        }
    }
コード例 #2
0
    void Awake()
    {
        Time.timeScale  = 1;
        MyDocumentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        arenaSettings   = new ArenaSettings();

        ArenaSettingsPath = MyDocumentsPath + "/Scrapper/arenasettings.json";
        if (File.Exists(ArenaSettingsPath))
        {
            LoadSettings();
        }
        else
        {
            SaveSettings();
        }

        if (SceneManager.GetActiveScene().buildIndex == 0)
        {
            Cursor.lockState = CursorLockMode.None;
            Cursor.visible   = true;
        }
        else
        {
            Cursor.lockState = CursorLockMode.Locked;
            Cursor.visible   = false;
        }
    }
コード例 #3
0
    void Awake()
    {
        healthBar = GetComponentInChildren <Image>();
        view      = GetComponent <PhotonView>();
        visuals   = GetComponent <SpriteRenderer>();

        playSettings     = Resources.Load <PlaySettings>("Settings/PlaySettings");
        arenaSettings    = Resources.Load <ArenaSettings>("Settings/ArenaSettings");
        killEffectPrefab = Resources.Load <GameObject>("KillEffect");
    }
コード例 #4
0
 public void LoadSettings()
 {
     try
     {
         arenaSettings = JsonUtility.FromJson <ArenaSettings>(File.ReadAllText(ArenaSettingsPath));
     }
     catch (Exception e)
     {
         Debug.Log(e);
     }
 }
コード例 #5
0
    public void ArenaEncounter(string info = "")
    {
        GD.Print("ArenaMatchEncounter: " + info);
        ArenaSettings settings = new ArenaSettings();

        settings.useKits              = false;
        settings.usePowerups          = false;
        settings.enemies              = EnemiesForMap(info);
        settings.player               = playerData;
        Session.session.arenaSettings = settings;

        Session.LocalArena(info);
    }
コード例 #6
0
    public void DeferredOnlineInit(string json)
    {
        if (!Session.IsServer())
        {
            settings = JsonConvert.DeserializeObject <ArenaSettings>(json);
            Session.session.arenaSettings = settings;
        }

        NetworkSession netSes = Session.session.netSes;

        netSes.playersReady = 0;
        playerWorldId       = netSes.selfPeerId;

        foreach (KeyValuePair <int, PlayerData> entry in netSes.playerData)
        {
            int id = entry.Value.id;
            InitActor(Actor.Brains.Remote, id);
        }

        foreach (int id in settings.botIds)
        {
            if (Session.IsServer())
            {
                InitActor(Actor.Brains.Ai, id);
            }
            else
            {
                InitActor(Actor.Brains.Remote, id);
            }
        }

        if (settings.usePowerups)
        {
            for (int i = 0; i < 1; i++)
            {
                SpawnItem(Item.Types.HealthPack);
                SpawnItem(Item.Types.AmmoPack);
            }
        }

        if (Session.IsServer())
        {
            roundTimeRemaining = settings.duration * 60;
            roundTimerActive   = true;
        }
    }
コード例 #7
0
    public void OnlineInit()
    {
        if (!Session.IsServer())
        {
            return;
        }

        for (int i = 0; i < settings.bots; i++)
        {
            settings.botIds.Add(NextId());
        }

        string settingsJson = ArenaSettings.ToJson(Session.session.arenaSettings);

        DeferredOnlineInit(settingsJson);
        Rpc(nameof(DeferredOnlineInit), settingsJson);
    }
コード例 #8
0
    public void Init(string terrainFile)
    {
        Sound.PlayRandomSong(Sound.GetPlaylist(Sound.Playlists.Arena));
        settings  = Session.session.arenaSettings;
        killQuota = DefaultKillQuota;

        if (settings == null)
        {
            GD.Print("Using default arena settings.");
            settings = new ArenaSettings();
        }

        actors = new List <Actor>();
        scores = new System.Collections.Generic.Dictionary <int, int>();

        InitTerrain(terrainFile);
        InitSpawnPoints();
        LocalInit();
    }
コード例 #9
0
ファイル: Arena.cs プロジェクト: daela/FPS_Project
 public void Init(bool singlePlayer)
 {
     settings = Session.session.arenaSettings;
     if (settings == null)
     {
         GD.Print("Using default arena settings.");
         settings = new ArenaSettings();
     }
     this.singlePlayer = singlePlayer;
     actors            = new List <Actor>();
     scores            = new Dictionary <int, int>();
     InitTerrain();
     InitSpawnPoints();
     if (singlePlayer)
     {
         SinglePlayerInit();
     }
     else
     {
         MultiplayerInit();
     }
 }
コード例 #10
0
 public static string ToJson(ArenaSettings dat)
 {
     return("");       //JsonConvert.SerializeObject(dat, Formatting.Indented);
 }
コード例 #11
0
 void InitArenaSettings()
 {
     config = new ArenaSettings();
     Session.session.arenaSettings = config;
 }
コード例 #12
0
 // Call when instantiated on network
 void OnNetworkInstantiate(NetworkMessageInfo info)
 {
     if (!(this.networkView.isMine))
     {
         this.arenaSettings = GameObject.Find("Arena").GetComponent<ArenaSettings>();
         GameState gameState = GameObject.FindWithTag("GameState").GetComponent<GameState>();
         this.playerIndex = gameState.playerIndex;
     }
 }
コード例 #13
0
 private void Awake()
 {
     playSettings  = Resources.Load <PlaySettings>("Settings/PlaySettings");
     arenaSettings = Resources.Load <ArenaSettings>("Settings/ArenaSettings");
 }