コード例 #1
0
ファイル: BaseLevel.cs プロジェクト: demonixis/SpaceGame-XNA
        public BaseLevel(SpaceShipDescription [] spaceShipDescription, LevelDescription levelDescription)
            : base("level", true)
        {
            Registry.Clear();

            _nbPlayer = spaceShipDescription.Length;
            _players  = new SpacePlayer[_nbPlayer];

            _spaceShipDescriptions = spaceShipDescription;

            for (int i = 0; i < _nbPlayer; i++)
            {
                _players[i]                   = new SpacePlayer((PlayerIndex)i, _spaceShipDescriptions[i]);
                _players[i].Killed           += new EventHandler <EventArgs>(BaseLevel_Killed);
                _players[i].PlayerReallyDead += new EventHandler <EventArgs>(BaseLevel_PlayerReallyDead);
            }
            Registry.Players = _players;

            _enemyManager     = new EnnemyManager();
            Registry.Ennemies = _enemyManager;

            _levelDescription = levelDescription;

            _timerEndLevel            = new YnTimer(_levelDescription.LevelTimeMax, 0);
            _timerEndLevel.Completed += _timerEndLevel_Completed;
        }
コード例 #2
0
 public WeaponManager(SpacePlayer player)
 {
     _player     = player;
     _recycled   = new Stack <int>();
     _canShoot   = true;
     _shootTimer = new YnTimer(100, 0);
 }
コード例 #3
0
ファイル: PlanetController.cs プロジェクト: vildninja/ngj14
    IEnumerator SetRocketTarget(Rocket rocket, SpacePlayer target)
    {
        yield return false;

        rocket.SetTarget(target.networkView.owner);
        rocket.networkView.RPC("SetTarget", RPCMode.Others, target.networkView.owner);
    }
コード例 #4
0
 private void AddDamagesOnPlayer(SpacePlayer player, float damages)
 {
     if (player.CanBeFired)
     {
         player.AddDamage(damages);
         player.ReceiveDamage(Color.Blue);
     }
 }
コード例 #5
0
ファイル: GameServer.cs プロジェクト: vildninja/ngj14
 void JoinedGame(int id)
 {
     if (joinButtons != null)
         foreach (var t in joinButtons)
             if (t && t.gameObject)
                 Destroy(t.gameObject);
     player = Network.Instantiate(playerPrefabs[id], playerPrefabs[id].transform.position, Quaternion.identity, 0) as SpacePlayer;
 }
コード例 #6
0
ファイル: LoveShotInMotion.cs プロジェクト: vildninja/ngj14
    public void SetVelocity(Vector3 direction, int id)
    {
        senderID = id;
        rigidbody.velocity = direction;
        if (FindObjectsOfType<SpacePlayer>().Any(sp => sp.networkView.owner == networkView.owner))
            player = FindObjectsOfType<SpacePlayer>().First(sp => sp.networkView.owner == networkView.owner);

        transform.Find("GiftTag").renderer.material.color = player.uiColor;
    }
コード例 #7
0
ファイル: Rocket.cs プロジェクト: vildninja/ngj14
    public void SetTarget(NetworkPlayer np)
    {
        if (FindObjectsOfType<SpacePlayer>().Any(sp => sp.networkView.owner == np))
        {
            target = FindObjectsOfType<SpacePlayer>().First(sp => sp.networkView.owner == np);
            GetComponentInChildren<Renderer>().material.mainTexture = textures[target.id - 1];

            avoid = new List<Transform>();
            foreach (var sp in FindObjectsOfType<SpacePlayer>())
                if (sp != target)
                    avoid.Add(sp.transform);
            foreach (var p in FindObjectsOfType<PlanetController>())
                avoid.Add(p.transform);
        }
        else
        {
            Destroy(gameObject);
        }
    }
コード例 #8
0
        public PlayerWeaponBox(int x, int y, SpacePlayer player, ref Vector2 scale)
        {
            X = x;
            Y = y;

            _playerLabel = new YnText("Fonts/HUD", player.PlayerName, new Vector2(X, Y), Color.Green);
            Add(_playerLabel);

            _healthBar = new ProgressBar(0, 0, "Energy");
            Add(_healthBar);

            _shieldBar = new ProgressBar(0, 0, "Shield");
            Add(_shieldBar);

            _primaryWeaponType = new WeaponItem(0, 0, "Red", Color.Blue, Color.DarkCyan, Assets.LaserBlue, player.PrimaryWeaponType, true);
            Add(_primaryWeaponType);

            _secondaryWeaponType = new WeaponItem(0, 0, "Red", Color.Blue, Color.DarkCyan, Assets.Missile, player.SecondaryWeaponType, true);
            Add(_secondaryWeaponType);
        }
コード例 #9
0
ファイル: MovementScript.cs プロジェクト: vildninja/ngj14
 void Awake()
 {
     sp = GetComponent<SpacePlayer>();
 }
コード例 #10
0
        public SoloPlayerState(SpaceShipType type, LevelType levelType)
            : base("solostate", true)
        {
            _levelType = levelType;

            if (_levelType == LevelType.Interior)
            {
                background = new InteriorBackground();
            }
            else
            {
                background = new SpaceBackground();
            }

            Add(background);

            // Les bonus sont en dessous de tout
            bonusGroup = new YnGroup();
            Add(bonusGroup);

            // Joueur
            _player                   = new SpacePlayer(PlayerIndex.One, Registry.SpaceShipDescriptions[(int)type]);
            _player.Viewport          = background.PlayableViewport;
            _player.Killed           += new EventHandler <EventArgs>(_player_Killed);
            _player.PlayerReallyDead += new EventHandler <EventArgs>(_player_PlayerReallyDead);
            Add(_player);

            Registry.Players = new SpacePlayer[] { _player };
            Registry.ScoreManager.CurrentGameScore = _player.GameScore;

            // Gestionnaire d'ennemies
            _ennemyManager             = new EnnemyManager();
            _ennemyManager.EnnemyDied += new EventHandler <EnnemyDeadEventArgs>(alienManager_EnnemyDied);
            Add(_ennemyManager);

            // Interface
            gameUI = new GameUI(Registry.Players);
            Add(gameUI);

            // Gestionnaire de message
            messageBoxManager = new MessageBoxManager();
            Add(messageBoxManager);

            messageBoxManager.MessageBoxStart.CloseRequested += messageBoxStart_CloseRequested;
            messageBoxManager.MessageBoxPause.CloseRequested += messageBoxPause_CloseRequested;
            messageBoxManager.MessageBoxEnd.CloseRequested   += messageBoxEnd_CloseRequested;

            // Timers
            _startGameTimer            = new YnTimer(2500, 0);
            _startGameTimer.Completed += startGameTimer_Completed;
            _startGameTimer.Start();

            _looseTimer            = new YnTimer(5000, 0);
            _looseTimer.Completed += endTimer_Completed;

            // FX
            fxManager = new FxManager();
            Add(fxManager);

            // audio
            Registry.AudioManager.VocalRate = 0;

            // Registry

            Registry.GameStatus  = gameStatus;
            Registry.ActiveState = this;
            Registry.Ennemies    = _ennemyManager;
            Registry.GameUI      = gameUI;
            Registry.Background  = background;
            Registry.FX          = fxManager;

            ChangeGameStatus(GameStatus.Starting);
        }
コード例 #11
0
ファイル: PlanetController.cs プロジェクト: vildninja/ngj14
 public PlayerRelation(SpacePlayer sp)
 {
     player = sp;
     love = 1;
 }
コード例 #12
0
ファイル: MessageScript.cs プロジェクト: vildninja/ngj14
 void Awake()
 {
     sp = transform.GetComponent<SpacePlayer> ();
 }