Example #1
0
    void Awake()
    {
        photonView = GetComponent <PhotonView>();

        // #Important
        // used in GameManager.cs: we keep track of the localPlayer instance to prevent instantiation when levels are synchronized
        if (photonView.IsMine)
        {
            NetworkPlayer.LocalPlayerInstance = this.gameObject;
        }
        // #Critical
        // we flag as don't destroy on load so that instance survives level synchronization, thus giving a seamless experience when levels load.
        DontDestroyOnLoad(this.gameObject);

        // Add ourself to InputManager
        cursor = GetComponentInChildren <PlayerCursor>();
        NetworkInputManager.playerInputs.Add(cursor);

        Debug.LogFormat("Instanciated player {0}", photonView.Owner.NickName);

        if (PhotonNetwork.IsMasterClient)
        {
            SendPlayerID(photonView.Owner.NickName, PhotonNetwork.CurrentRoom.PlayerCount - 1);
        }
    }
Example #2
0
    public void Hit()
    {
        if (m_state != STATE.Walking)
        {
            return;
        }

        // TODO: Splatter VFX, +1
        if (m_SFX_splat)
        {
            m_SFX_splat.PlayRandom();
        }
        if (m_SFX_scream)
        {
            if (Random.Range((int)1, (int)5) == 1)
            {
                m_SFX_scream.PlayRandom();
            }
        }
        m_state      = STATE.Dying;
        m_deathTimer = 1.0f;

        PlayerCursor player = PlayerCursor.GetPlayer(m_playerID);

        if (player)
        {
            ++player.m_score;
        }
    }
Example #3
0
        public void ShouldFreezePlayerAndThenUnfreeze(
            int iterations,
            int expectedIndexPlayer,
            bool shouldFreeze)
        {
            //Arrange
            _dice.
            Setup(_ => _.Roll()).
            Returns(_twoDiceSame);

            var cursor = new PlayerCursor(_players, _dice.Object);

            //Act
            PlayerMove playerMove = null;

            for (var i = 0; i < iterations; i++)
            {
                playerMove = cursor.Next();
            }

            //Assert
            playerMove.Total.Should().Be(shouldFreeze ? 0 : _twoDiceSame.Sum());
            playerMove.Frozen.Should().Be(shouldFreeze);
            playerMove.Player.Should().Be(_players[expectedIndexPlayer]);
        }
Example #4
0
        public void Attack(ActionScheduler scheduler, PlayerCursor cursor)
        {
            float timePerAttack = 1 / stats.GetStat(Stat.AttackSpeed);

            if (Time.time < lastAttackTime + timePerAttack)
            {
                return;
            }
            if (!scheduler.StartAction(this, false))
            {
                return;
            }
            if (!stamina.UseStamina(currentWeapon.baseItem.staminaUse))
            {
                return;
            }



            lastAttackTime = Time.time;
            animator.ResetTrigger("cancelAttack");
            animator.SetTrigger("attack");

            if (currentWeapon)
            {
                currentWeapon.hitArea.AdjustDirection(cursor.Position - transform.position);
            }
            currentWeapon.DamageAreaLockState(true);
        }
Example #5
0
    void OnEnable()
    {
        m_default_tool = new DefaultTool();
        SetActiveTool(m_default_tool);

        m_tools = new Tool[]
        {
            m_default_tool,
            new DigTool(KeyCode.Mouse0, -m_dig_rate),
            new DigTool(KeyCode.Mouse1, m_fill_rate),
            new SprayTool(KeyCode.E, m_liquid_fill_rate),
            new FloodTool(KeyCode.Q, m_liquid_fill_rate)
        };

        m_cursor = GameObject.Instantiate(m_cursor_prefab);

        var camera = Camera.main;

        foreach (var tool in m_tools)
        {
            tool.transform          = transform;
            tool.camera             = camera;
            tool.m_raycast_distance = m_raycast_distance;
            tool.m_cursor           = m_cursor;
            tool.m_cursor_tuning    = m_cursor.m_cursor_tuning;
        }
    }
Example #6
0
    public override void Start()
    {
        base.Start();

        m_sets.Add("players");
        HandleSets(true);

        // to be replaced
        m_players.Add(this);

        m_rewiredPlayer = ReInput.players.GetPlayer(m_playerId);
        m_mouse         = GetComponent <PlayerCursor>();
        m_mouse.Init(m_playerId);
        m_playerController          = GetComponent <PlayerController>();
        m_playerController.m_player = this;

        m_feedbackColor = Constants.TRANSPARENT;

        // TODO: TEMP
        int hotkey = 1;

        foreach (Ability ability in Ability.m_abilities)
        {
            AbilityWrapper wrapper = new AbilityWrapper();

            wrapper.AbilityName   = ability.m_name;
            wrapper.Learned       = true;
            wrapper.TrainingLevel = 1;
            wrapper.HotkeySlot    = hotkey;

            m_abilities.Add(wrapper);

            hotkey++;
        }
    }
Example #7
0
 public override void Select(PlayerCursor cursor)
 {
     if (Game.Instance == null)
     {
         return;
     }
     Game.Instance.PauseMenu.UnPause();
     SceneManager.LoadScene("Title");
 }
Example #8
0
 private void Awake()
 {
     inventory       = GetComponent <PlayerInventory>();
     stats           = GetComponent <CharacterStats>();
     animator        = GetComponent <Animator>();
     cursor          = GetComponent <PlayerCursor>();
     stamina         = GetComponent <Stamina>();
     cooldownDisplay = FindObjectOfType <AttackColdownDisplay>();
 }
Example #9
0
        public void Reload(PlayerCursor pc)
        {
            MoveSlots.Clear();
            foreach (Move m in pc.Pokemon.Moves) {
                MoveSlots.Add(new MoveSlot(m));
            }

            pc.MovePos = new CursorPosition(0, 0, 0, MoveSlots.Count() - 1);
            this.pc = pc;
        }
Example #10
0
 public override void Select(PlayerCursor cursor)
 {
     if (Game.Instance == null)
     {
         return;
     }
     Game.Instance.PauseMenu.UnPause();
     controlsScreen.SetActive(false);
     optionsScreen.SetActive(false);
 }
Example #11
0
        public void Reload(PlayerCursor pc)
        {
            MoveSlots.Clear();
            foreach (Move m in pc.Pokemon.Moves)
            {
                MoveSlots.Add(new MoveSlot(m));
            }

            pc.MovePos = new CursorPosition(0, 0, 0, MoveSlots.Count() - 1);
            this.pc    = pc;
        }
Example #12
0
 // Use this for initialization
 void Start()
 {
     players = FindObjectsOfType <PlayerController>();
     Debug.Log("Number of players: " + players.Length);
     enemies = FindObjectsOfType <EnemyController>();
     Debug.Log("Number of enemies: " + enemies.Length);
     cursor            = FindObjectOfType <PlayerCursor>();
     stack             = new PlayerMovesStack();
     map               = FindObjectOfType <MapController>();
     enemyPhaseStarted = false;
 }
Example #13
0
        public void ShouldGetAllPlayers()
        {
            //Arrange
            var cursor = new PlayerCursor(_players, _dice.Object);

            //Act
            var result = cursor.GetAll();

            //Assert
            result.Count.Should().Be(2);
        }
Example #14
0
 private void Awake()
 {
     mover          = GetComponent <Mover>();
     fighter        = GetComponent <PlayerFighter>();
     interacter     = GetComponent <Interacter>();
     health         = GetComponent <Health>();
     playerCursor   = GetComponent <PlayerCursor>();
     abilityManager = GetComponent <AbilityManager>();
     animator       = GetComponent <Animator>();
     scheduler      = GetComponent <ActionScheduler>();
 }
Example #15
0
 void updateGrid()
 {
     Debug.Log("Update Grid");
     for (int x = 0; x < grid.GetLength(0); x++)
     {
         for (int y = 0; y < grid.GetLength(1); y++)
         {
             grid[x, y].update(PlayerCursor.allPlayerCursorPositions());
         }
     }
 }
Example #16
0
 public override void Select(PlayerCursor cursor)
 {
     if (GameModeSelect.gameMode == GameMode.Mode.RagOfTheHill)
     {
         SceneManager.LoadScene("RagOfTheHill");
         //MenuActions.ToCharacterSelect();
     }
     else
     {
         MenuActions.ToLevelSelect();
     }
 }
Example #17
0
 void OnPointerDown(PlayerCursor pointer)
 {
     // Debug.LogFormat("pointer down at frame {0} from player {1}", Time.frameCount, pointer.playerID);
     selected = !selected;
     if (selected)
     {
         spriteRenderer.color = selectColor;
     }
     else
     {
         spriteRenderer.color = startColor;
     }
 }
Example #18
0
    /*public float drag = 3;
    public float maxVel = 30;
    public float accel = 5;
    public float deadzone = 0.6f;*/
    //private Animator animator;
    public override void Start()
    {
        base.Start();
        AIManager.staticManager.AddPeloton(myPeloton);  //Avisar al AIManager

        cursor = GameObject.Find("Cursor").GetComponent<PlayerCursor>();
        cursor.SetLeader(gameObject);

        callArea = gameObject.GetComponentInChildren<Projector>();
        callText = GameObject.Find("CallText");
        healthSlider = GameObject.Find("Slider").GetComponent<Slider>();

        pelotonSource = GetComponent<AudioSource>();

        radio = GameObject.Find(Names.RADIO).GetComponent<Radio>();
    }
Example #19
0
        public void ShouldCyclePlayers(int iterations, int expectedIndexPlayer)
        {
            //Arrange
            _dice.
            Setup(_ => _.Roll()).
            Returns(_twoDiceDifferent);

            var cursor = new PlayerCursor(_players, _dice.Object);

            //Act
            PlayerMove playerMove = null;

            for (var i = 0; i < iterations; i++)
            {
                playerMove = cursor.Next();
            }

            //Assert
            playerMove.Total.Should().Be(_twoDiceDifferent.Sum());
            playerMove.Player.Should().Be(_players[expectedIndexPlayer]);
        }
Example #20
0
    private void Awake()
    {
        #region Singleton

        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Destroy(gameObject);
        }

        DontDestroyOnLoad(gameObject);

        #endregion

        SetCursor(defaultCursor);

        foreach (CursorAnimation cursorAnimation in animations)
        {
            animationDictionary.Add(cursorAnimation.animName, cursorAnimation);
        }
    }
Example #21
0
    // Use this for initialization
    void Start()
    {
        black = new Color(0f, 0f, 0f, 190f / 255f);
        red   = new Color(1f, 0f, 0f, 16f / 255f);
        //yellow = new Color(1f, 1f, 0f, 8f/255f);
        //green = new Color(0f, 1f, 0.5f, 8f/255f);
        blue    = new Color(0f, 0.5f, 1f, 8f / 255f);
        shining = new Color(1f, 1f, 1f, 50f / 255f);
        white   = new Color(0f, 0f, 0f, 8 / 255f);

        //GameObject moonObj = GameObject.FindGameObjectWithTag("Moon");
        //		Debug.Log ("Moon");
        ParticleSystem partsys = GetComponentInChildren <ParticleSystem> ();

        //		Debug.Log ("Moon2");
        mLevelGap = introLevelGap;
        moonPart  = partsys.main;
        MoonLevel = "blue";
        pc        = FindObjectOfType <PlayerCursor> ();
        if (FindObjectOfType <Player> () != null)
        {
            curPlayer = FindObjectOfType <Player> ().gameObject;
        }
    }
Example #22
0
 void OnPointerExit(PlayerCursor pointer)
 {
     spriteRenderer.color = startColor;
 }
 public override void Select(PlayerCursor cursor)
 {
     CharacterSelect.playerSelections[cursor.playerNumber].color = color;
     CharacterSelect.playerSelections[cursor.playerNumber].size  = size;
     cursor.hasControl = false;
 }
    // Use this for initialization
    void Start()
    {
        Main.instance.input.AddButtonCall(InputAction.Act, InputAct);
        Main.instance.input.AddButtonCall(InputAction.Fire, InputFire);
        Main.instance.input.AddButtonCall(InputAction.Menu, InputMenu);
        Main.instance.input.AddButtonCall(InputAction.SummonSelect, InputSummonSelect);
        Main.instance.input.AddButtonCall(InputAction.SummonSelectNext, InputSummonSelectNext);
        Main.instance.input.AddButtonCall(InputAction.SummonSelectPrev, InputSummonSelectPrev);
        Main.instance.input.AddButtonCall(InputAction.Summon, InputSummon);
        Main.instance.input.AddButtonCall(InputAction.UnSummon, InputUnSummon);
        Main.instance.input.AddButtonCall(InputAction.Recall, InputRecall);

        FlockGroup playerGroup = FlockGroup.GetGroup(mPlayer.stats.flockGroup);
        if(playerGroup != null) {
            playerGroup.addCallback += OnGroupUnitAdd;
            playerGroup.removeCallback += OnGroupUnitRemove;
        }

        mCursor = PlayerCursor.GetByType(mPlayer.stats.flockGroup);
        if(mCursor != null) {
            mCursor.origin = transform;
        }

        //TODO: get config from user data
        mTypeSummons[0].Init(UnitType.sheepMelee);
        mTypeSummons[1].Init(UnitType.sheepRange);
        mTypeSummons[2].Init(UnitType.sheepAssault);
        mTypeSummons[3].Init(UnitType.sheepHexer);

        SpawnStart();
    }
Example #25
0
 void OnPointerUp(PlayerCursor pointer)
 {
 }
Example #26
0
 public override void Select(PlayerCursor cursor)
 {
     //Set the static to the opposite of what it is
     LevelSelect.pipesMove = !LevelSelect.pipesMove;
     updateDisplay();
 }
Example #27
0
 private void Awake()
 {
     s_singleton = this;
 }
Example #28
0
 public override void Select(PlayerCursor cursor)
 {
     CreditsScreen.SetActive(true);
     cursor.hasControl = false;
 }
    void Update()
    {
        for (int i = 0; i < NetworkInputManager.playerInputs.Count; i++)
        {
            PlayerCursor cursor = NetworkInputManager.playerInputs[i];
            if (cursor == null)
            {
                continue;          // may happen in the first frames of joining a room
            }
            bool lastOverState = false;
            if (lastCursorOverState.ContainsKey(cursor.playerID))
            {
                lastOverState = lastCursorOverState[cursor.playerID];
            }

            bool currentOverState = false;
            // check if cursor is inside collider
            Ray        r = Camera.main.ScreenPointToRay(cursor.screenPosition);
            RaycastHit hit;
            if (col.Raycast(r, out hit, Mathf.Infinity))
            {
                currentOverState = true;
            }

            // On Enter
            if (lastOverState == false && currentOverState == true)
            {
                // if using delegate
                if (onPointerEnter != null)
                {
                    onPointerEnter(cursor);
                }
                // if using Unity Component Messages
                SendMessage("OnPointerEnter", cursor, SendMessageOptions.DontRequireReceiver);
            }
            if (lastOverState == true && currentOverState == false)
            {
                // if using delegate
                if (onPointerExit != null)
                {
                    onPointerExit(cursor);
                }
                // if using Unity Component Messages
                SendMessage("OnPointerExit", cursor, SendMessageOptions.DontRequireReceiver);
            }
            if (currentOverState == true)
            {
                // if using delegate
                if (onPointerOver != null)
                {
                    onPointerOver(cursor);
                }
                // if using Unity Component Messages
                SendMessage("OnPointerOver", cursor, SendMessageOptions.DontRequireReceiver);

                if (cursor.downThisFrame)
                {
                    SendMessage("OnPointerDown", cursor, SendMessageOptions.DontRequireReceiver);
                }

                if (cursor.upThisFrame)
                {
                    SendMessage("OnPointerUp", cursor, SendMessageOptions.DontRequireReceiver);
                }
            }
            lastCursorOverState[cursor.playerID] = currentOverState;
        }
    }
Example #30
0
 abstract public void Select(PlayerCursor cursor);
Example #31
0
 void OnPointerEnter(PlayerCursor pointer)
 {
     spriteRenderer.color = highlightColor;
 }
Example #32
0
 public void setPlayerCursor(PlayerCursor playerCursor)
 {
     this.playerCursor = playerCursor;
 }
Example #33
0
 void OnPointerOver(PlayerCursor pointer)
 {
 }