예제 #1
0
    void uLink_OnPlayerDisconnected(uLink.NetworkPlayer player)
    {
        PlayerCreator playerCreator = player.localData as PlayerCreator;

        uLink.Network.DestroyPlayerObjects(player);
        uLink.Network.RemoveRPCs(player);
    }
예제 #2
0
 private static void ChooseName()
 {
     if (string.IsNullOrWhiteSpace(currentDisplay.GetOutput()))
     {
         return;
     }
     else
     {
         currentDisplay.ClearOutput();
         string        playerName = currentDisplay.GetOutput().Trim();
         string        check      = playerName.CapitalizeFirstLetter();
         PlayerCreator pc;
         if (!SpecialCharacters.specialCharacterLookup.ContainsKey(check))
         {
             pc = new PlayerCreator(playerName);
             CharacterCreation creator = new CharacterCreation(currentDisplay, pc);
             creator.SetGenderGeneric();
         }
         else
         {
             PromptSpecial(check);
         }
         currentDisplay.ClearInputData();
     }
 }
예제 #3
0
        private static void ParseSpecial(string name, bool useSpecial)
        {
            PlayerCreator     pc      = useSpecial ? SpecialCharacters.specialCharacterLookup[name]() : new PlayerCreator(name);
            CharacterCreation creator = new CharacterCreation(currentDisplay, pc);

            creator.SetGenderSpecial(useSpecial);
        }
예제 #4
0
파일: MainMenu.cs 프로젝트: rafante/d-b
    public void showPvPCreator()
    {
        PlayerCreator pc = Instantiate(playerCreatorPrefab).GetComponent <PlayerCreator>();

        pc.setGameType(GamePlayerType.PVPOFFLINE);
        playersCreatorDialog.enabled = true;
    }
예제 #5
0
 /// <summary>
 /// LabyrinthGame consturctor
 /// <remarks>
 /// Will initiate the console renderer and all other required classes
 /// </remarks>
 /// </summary>
 public LabyrinthGame()
 {
     this.Renderer  = new ConsoleRenderer();
     this.commander = new Commander();
     this.Scores    = ScoreBoardCreator.CreateScoreBoard();
     this.Player    = PlayerCreator.CreatePlayer();
     this.Maze      = this.InitMaze();
 }
예제 #6
0
 // Use this for initialization
 void Start()
 {
     main = this;
     transform.SetParent(GameObject.FindGameObjectWithTag("PlayerCreatorCanvas").transform);
     transform.localScale    = Vector3.one;
     transform.localPosition = Vector3.zero;
     reset();
 }
        public void PlayerCreator_IsProducedInMediumMaze()
        {
            IMaze maze = new Maze(this._medium, this._medium);

            Assert.AreEqual(maze.Cols, this._medium);
            Assert.AreEqual(maze.Rows, this._medium);
            var player = PlayerCreator.CreatePlayer();

            Assert.IsTrue(player != null);
        }
        public void PlayerCreator_IsProducedAsValidIPlayerInSmallMaze()
        {
            IMaze maze = new Maze(this._small, this._small);

            Assert.AreEqual(maze.Cols, this._small);
            Assert.AreEqual(maze.Rows, this._small);
            var player = PlayerCreator.CreatePlayer();

            Assert.IsTrue(player is IPlayer);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 public Morabaraba()
 {
     init         = new GameBoardInitialisor();
     CurrentBoard = init.InitializeBoard();
     creator      = new PlayerCreator(ColorType.Colour.Dark);
     p1           = creator.GetPlayerOne();
     p2           = creator.GetPlayerTwo();
     turn         = true;
     removing     = false;
 }
예제 #10
0
        private static void Main(string[] args)
        {
            var cristiano = PlayerCreator.Create(Sport.Football, "Cristiano", 93);

            var real  = TeamCreator.Create(Sport.Football, "Real Madrid FC", 92);
            var barca = TeamCreator.Create(Sport.Football, "FC Barcelona", 90);

            var clasico = GameCreator.TeamGame.Create(real, barca);

            clasico.Simulate();
        }
예제 #11
0
    void uLink_OnPlayerDisconnected(uLink.NetworkPlayer player)
    {
        PlayerCreator playerCreator = player.localData as PlayerCreator;

        if (playerCreator != null)
        {
            chat.Chat(playerCreator.playerName + " has quit", playerCreator.playerColor);
        }

        uLink.Network.DestroyPlayerObjects(player);
        uLink.Network.RemoveRPCs(player);
    }
예제 #12
0
        public static void NewGamePlus(PlayerBase currentPlayer)
        {
            if (currentDisplay == null)
            {
                currentDisplay = new StandardDisplay();
            }
            currentDisplay.ClearOutput();

            //parse the current player to New Game Plus related PlayerCreator;
            PlayerCreator     pc      = new PlayerCreator(currentPlayer.name);
            CharacterCreation creator = new CharacterCreation(currentDisplay, pc, true);

            creator.SetGenderGeneric();
            throw new Backend.Tools.InDevelopmentExceptionThatBreaksOnRelease();
        }
예제 #13
0
        public void Start()
        {
            for (int i = 0; i < numberOfPlayers; i++)
            {
                PlayerCreator.CreatePlayer();
            }

            var newGame = new StartGame();

            newGame.RegisterHandler(Display.ShowPlayerMoves);

            for (int i = 0; i < numberOfPlayers; i++)
            {
                ThreadCreator.CreateThread(newGame).Start(PlayerCreator.Players[i]);
            }
        }
예제 #14
0
        public void InitLevel()
        {
            //if (_player != null) Destroy(_player);
            PlayerCreator playerCreator = new PlayerCreator(_settings.PlayerConstructSettings);

            _player = playerCreator.CreatePlayer();

            GateSpawner gateSpawner = new GateSpawner(_player.GetComponent <IRotatable>(), _settings.GateSettings);

            gateSpawner.CreateGatePools();

            _roadSpawner = new RoadSpawner(_settings.RoadSettings);
            _roadSpawner.Init(gateSpawner.GatePools);

            _cameraSettings.Init(_player.GetComponent <ICameraControllable>());
        }
예제 #15
0
    /*=== INITIALISATION ===*/


    private void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }

        menuControl   = menu.GetComponent <MenuController> ();
        playerCreator = GetComponent <PlayerCreator> ();
        roundManager  = gameObject.AddComponent <DeathMatchRoundManager> ();
        mainCamera    = FindObjectOfType <CameraController> ();
    }
예제 #16
0
    void Start()
    {
        Application.runInBackground              = true;
        TwitchChatClient.singleton.userName      = "******";
        TwitchChatClient.singleton.oAuthPassword = "******";
        TwitchChatClient.singleton.JoinChannel("twitchlandrpg");
        TwitchChatClient.singleton.AddChatListener(OnChatMessage);
        TwitchChatClient.singleton.EnableWhispers();

        commandsTutorial    = Commander.GetComponent <CommandsTutorial> ();
        commandsTravel      = Commander.GetComponent <CommandsTravel> ();
        commandsLoadSave    = Commander.GetComponent <CommandsLoadSave> ();
        commandsManageStats = Commander.GetComponent <CommandsManageStats> ();
        //commandsEquip = Commander.GetComponent<CommandsEquip> ();
        commandsMisc = Commander.GetComponent <CommandsMisc> ();

        playerCreator = PlayerCreator.GetComponent <PlayerCreator> ();
    }
예제 #17
0
    static void Menu_TranPlayerCreatorDataTo384()
    {
        foreach (GameObject go in Selection.gameObjects)
        {
            PlayerCreator pc = go.GetComponent <PlayerCreator>();
            if (pc != null)
            {
                Vector3 tmpPos = pc.CoinStacksLocalPos;
                tmpPos.x *= 384F;
                tmpPos.y *= 384F;
                tmpPos.z *= 10F;
                pc.CoinStacksLocalPos = tmpPos;

                tmpPos             = pc.ScoreBGLocalPos;
                tmpPos.x          *= 384F;
                tmpPos.y          *= 384F;
                tmpPos.z          *= 10F;
                pc.ScoreBGLocalPos = tmpPos;
            }
            EditorUtility.SetDirty(go);
        }
    }
예제 #18
0
        public GamePlayState(GameState gameState)
        {
            _gameState = gameState;

            // setup components
            _gameState = new GameState();

            // setup systems
            var systems = new Systems.System[]
            {
                new PlayerInputSystem("PlayerInput", _gameState),
                new MovementSystem("Movement", _gameState),
                new ClampToViewportSystem("ClampToViewport", _gameState),
                new DestroyIfOutsideViewportSystem("DestroyIfOutsideViewport", _gameState),
                new SetBoundingBoxSystem("SetBoundingBox", _gameState),
                new PlayerFireProjectileSystem("FireProjectile", _gameState),
                new EnemyFireProjectileSystem("EnemyFireProjectile", _gameState),
                new EnemyChaseSystem("EnemyChase", _gameState),
                new AnimationSystem("Animation", _gameState),
                new PlayerCollisionDetectionSystem("PlayerCollisionDetection", _gameState),
                new ProjectileCollisionDetectionSystem("ProjectileCollisionDetection", _gameState),
                new RestorePlayerSystem("KillPlayer", _gameState),
                new CollisionResolutionSystem("CollisionResolution", _gameState),
                new EnemySpawnSystem("EnemySpawn", _gameState),
                new IsGameOverSystem("IsGameOver", _gameState),
                new RenderingSystem("Rendering", _gameState)
            };

            _systems = new Systems.Systems(_gameState, systems);

            _hud = new Hud(_gameState);

            _soundEffectPlayer = new SoundEffectPlayer();
            _renderer          = new Renderer();

            PlayerCreator.Create(_gameState, 0, 3);
            EnemySpawnerCreator.Create(_gameState);
        }
예제 #19
0
        protected override void ProcessOneEntity(int entityId, float deltaTime)
        {
            // gather data for selection
            var player = GameState.GameData.Players[entityId];

            // selection
            if (player == null || player.Value.Status != PlayerStatus.Destroyed)
            {
                return;
            }

            // process data
            var transform = GameState.GameData.Transforms[entityId].Value;

            transform.Rotation += _deathRotationSpeed * deltaTime;

            var p = player.Value;

            if (!p.DeathOnCooldown)
            {
                p.DeathCooldownTime = 0.0f;
                p.Lives--;
                transform.Rotation = 0.0f;
                p.Status           = PlayerStatus.Alive;

                GameState.ClearState();

                PlayerCreator.Create(GameState, p.Score, p.Lives.GetValueOrDefault());
                EnemySpawnerCreator.Create(GameState);
            }

            p.DeathCooldownTime -= deltaTime;

            // update data
            GameState.GameData.Players[entityId]    = p;
            GameState.GameData.Transforms[entityId] = transform;
        }
예제 #20
0
    /// <summary>
    /// Create player.
    /// </summary>
    /// <param name="name">name of the character</param>
    /// <param name="commandHint">command hint for interaction with this character</param>
    /// <param name="sceneId">scene identifier where player is located</param>
    /// <param name="age">age of the character</param>
    /// <param name="gender">gender of the character</param>
    /// <returns>player model</returns>
    public static CharacterModel CreatePlayer(string name, string commandHint, string sceneId, int age, CharacterGender gender)
    {
        var characterCreator = new PlayerCreator();

        return(characterCreator.CreatCharacter(name, commandHint, sceneId, age, gender));
    }
예제 #21
0
    //void OnDestroy()
    //{
    //    ArcIO.Close();
    //}

    /// <summary>
    /// 开始游戏
    /// </summary>
    public void StartGame()
    {
        if (State_ != State.Idle)
        {
            return;
        }
        State_ = State.Normal;


        //初始化所有玩家
        Transform  prefabPlayerCreatorTs = Prefab_PlayerCreatorSet[(int)BSSetting.GunLayoutType_.Val].transform;
        GameObject playersParent         = new GameObject("Players");

        playersParent.transform.parent        = transform;
        playersParent.transform.localPosition = Vector3.zero;
        Players = new Player[Defines.NumPlayer];

        foreach (Transform t in prefabPlayerCreatorTs)
        {
            PlayerCreator pc   = t.GetComponent <PlayerCreator>();
            Player        pNew = pc.CreatePlayer();
            pNew.transform.parent = playersParent.transform;

            Players[pNew.Idx] = pNew;
            mPControllerIDToPlayerID[pNew.CtrllerIdx] = pNew.Idx;
        }

        //打开所有按键
        mDisableAllPlayerKey  = false;
        mDisableBackGroundKey = false;
        //延时检查
        //StartCoroutine(_Coro_CheckRemainRunTime());

        //StartCoroutine(_Coro_DeleteNullFishInScene());

        //难度调节
        if (BSSetting.Dat_RemoteDiffucltFactor.Val != 0)
        {
            GameOdds.DifficultFactor = (float)(BSSetting.Dat_RemoteDiffucltFactor.Val + 1);
        }

        GameOdds.GainRatio             = GameOdds.GainRatios[(int)(BSSetting.GameDifficult_.Val)];
        GameOdds.GainRatioConditFactor = GameOdds.GainRatioConditFactors[(int)(BSSetting.ArenaType_.Val)];
        //ScenePrelude pl = ScenePreludeMgr.DoPrelude();

        StartCoroutine("_Coro_MainProcess");

        Pool_GameObj.Init();

        if (BSSetting.IsNeedPrintCodeAtGameStart.Val)
        {
            EnterPrintCode();
        }

        //SceneBGMgr.NewBG();

        if (EvtMainProcess_StartGame != null)
        {
            EvtMainProcess_StartGame();
        }
    }
예제 #22
0
        public void PlayerCreator()
        {
            PlayerCreator pc = new PlayerCreator();

            pc.Show();
        }
예제 #23
0
 // Use this for initialization
 void Start()
 {
     playerCreator = GameObject.FindObjectOfType <GameController> ().playerCreator;
 }