示例#1
0
 public void Out(PlayerCore pc)
 {
     poleAnimator.Play("Out");
     laser.SetActive(true);
     lightL.SetActive(false);
     lightR.SetActive(false);
 }
示例#2
0
    void Start()
    {
        bed          = GameObject.Find("bed");
        player       = GameObject.Find("Player");
        wave         = GameObject.Find("Enemies").GetComponent <Wave>();
        playerScript = player.GetComponent <PlayerCore>();
        gun          = playerScript.guns.GetComponent <Guns>();

        multiplier           = Random.Range(1, 4);
        transform.localScale = new Vector3(0.5f, 0.5f, 0.5f) + new Vector3(0.05f * multiplier, 0.05f * multiplier, 0.05f * multiplier);
        hp         *= multiplier;
        speed      /= multiplier;
        scoreWorth *= multiplier;
        moneyWorth *= multiplier;
        damage     *= multiplier;

        agent              = GetComponent <NavMeshAgent>();
        anim               = GetComponent <Animator>();
        lastTarget         = bed;
        agent.speed        = speed;
        agent.angularSpeed = 1200 * multiplier;
        agent.Warp(transform.position);

        MoveToTarget(bed);
    }
示例#3
0
 void Start()
 {
     PlayerCore     = GetComponent <PlayerCore>();
     _inputProvider = GetComponent <IInputProvider>();
     OnStart();
     Initialize();
 }
    void PollRangeCircle()
    {
        foreach (var ability in abilities)
        {
            if (ability.GetRange() > 0 && circles.ContainsKey(ability))
            {
                if (ability.IsDestroyed())
                {
                    circles[ability].enabled = false;
                    continue;
                }
                else
                {
                    circles[ability].enabled = true;
                }

                circles[ability].color = ability.TimeUntilReady() > 0 ? Color.gray : PlayerCore.GetPlayerFactionColor();
                var range     = ability.GetRange();
                var cameraPos = CameraScript.instance.transform.position;
                cameraPos.z = 0;
                range       = Camera.main.WorldToScreenPoint(cameraPos + new Vector3(0, range)).y - Camera.main.WorldToScreenPoint(cameraPos).y;
                range      *= 2;

                circles[ability].rectTransform.anchoredPosition = Camera.main.WorldToScreenPoint(ability.transform.position);
                circles[ability].rectTransform.sizeDelta        = new Vector2(range, range);
                //Debug.Log(Camera.main.ScreenToWorldPoint((Vector3)rangeCircle.rectTransform.anchoredPosition +
                //    new Vector3(0,range / 2,CameraScript.zLevel) ) - abilities[0].transform.position);
            }
        }
    }
示例#5
0
    // Update is called once per frame
    void FixedUpdate()
    {
        playerScan.Clone();
        if (strike == false)
        {
            chasing = false;
            if (playerScan[0])
            {
                chasing = true;
                Chase(playerScan[0].transform);
            }

            animator.SetBool("Chasing", chasing);
        }

        if (strike == true)
        {
            if (animator.GetCurrentAnimatorStateInfo(0).normalizedTime > 0.95f)
            {
                Instantiate(debris, transform.position, transform.rotation);
                Destroy(transform.parent.gameObject);
                PlayerCore pc = playerScan[0].GetComponent <PlayerCore>();
                pc.score += scoreAdd;
                pc.UIManager.UpdateScore();
            }
        }
        cameraTrigger.position = transform.position;
    }
示例#6
0
 // Use this for initialization
 private void Awake()
 {
     playerCore = new PlayerCore(spd, mp, atn, hit);
     playerCore.equipWeapon(new Weapon());
     moveDir   = Vector2.zero;
     rigidbody = GetComponent <Rigidbody2D>();
 }
示例#7
0
    void Start()
    {
        anim       = GetComponent <Animator>();
        unitCore   = GetComponent <UnitCore>();
        playerCore = GetComponent <PlayerCore>();
        states     = GetComponent <HERO_StateController>();

        if (isLocalPlayer && isClient)
        {
            //HUD
            HUDPointer        = GameObject.Find("HUD/WeaponCore").GetComponent <Image>();
            HUDBackground     = HUDPointer.transform.GetChild(0).GetComponent <Image>();
            HUDBar[0]         = HUDBackground.transform.GetChild(0).GetComponent <Image>();
            HUDBar[1]         = HUDBackground.transform.GetChild(1).GetComponent <Image>();
            HUDItemBackground = HUDPointer.transform.GetChild(1).GetComponent <CanvasGroup>();
            HUDItemBar        = HUDItemBackground.transform.GetChild(0).GetComponent <Image>();

            //Cursor
            Cursor.visible   = false;
            Cursor.lockState = CursorLockMode.Confined;
        }

        //Test Weapons
        EquipWeapon(MasterListDatabase.i.FetchItem(0), 0);
        EquipWeapon(MasterListDatabase.i.FetchItem(2), 1);
    }
示例#8
0
        IEnumerator pathPlayer(PlayerCore player)
        {
            player.SetIsInteracting(false);
            PathData.Node current = GetNode(0);

            while (current != null)
            {
                Vector2 delta = current.position - (Vector2)player.transform.position - player.GetComponent <Rigidbody2D>().velocity *Time.fixedDeltaTime;
                player.MoveCraft(delta.normalized);
                if (delta.sqrMagnitude < PathAI.minDist)
                {
                    if (current.children.Count > 0)
                    {
                        int next = Random.Range(0, current.children.Count);
                        current = GetNode(current.children[next]);
                    }
                    else
                    {
                        current = null;
                    }
                }

                yield return(null);
            }

            player.SetIsInteracting(true);

            if (!asynchronous)
            {
                continueTraversing();
            }
        }
示例#9
0
    // Update is called once per frame
    IEnumerator MoveTo(Transform other)
    {
        PlayerCore pc = other.GetComponent <PlayerCore>();

        pc.score += scoreAdd;
        pc.UIManager.UpdateScore();

        switch (objType)
        {
        case Type.spring:
            audioSource.PlayOneShot(MainDefSounds.defaultSounds.spring);
            break;

        case Type.dashPad:
            audioSource.PlayOneShot(MainDefSounds.defaultSounds.dashPad);
            break;

        case Type.normalRamp:
            audioSource.PlayOneShot(MainDefSounds.defaultSounds.normalRamp);
            break;

        case Type.trickRamp:
            audioSource.PlayOneShot(MainDefSounds.defaultSounds.trickRamp);
            pc.playerSoundCore.PlayTrick();
            break;

        case Type.dashRing:
            audioSource.PlayOneShot(MainDefSounds.defaultSounds.dashRing);
            break;

        case Type.trickDashRing:
            audioSource.PlayOneShot(MainDefSounds.defaultSounds.trickDashRing);
            pc.playerSoundCore.PlayTrick();
            break;
        }

        Vector3 dir = (destination.position - other.position).normalized;

        if (setCameraDirection == true)
        {
            if (camDirNeg)
            {
                pc.orbitCam.transform.rotation = Quaternion.LookRotation(-dir);
            }
            else
            {
                pc.orbitCam.transform.rotation = Quaternion.LookRotation(-dir);
            }
        }

        while (Vector3.Distance(other.position, destination.position) > stopDistance)
        {
            //rb.MovePosition(Vector3.MoveTowards(other.position, destination.position, speed * 60f * Time.deltaTime));
            pc.rb.velocity = (destination.position - other.position).normalized * speed;
            pc.ball        = false;
            yield return(new WaitForFixedUpdate());
        }
        //set final velocity here
        yield return(new WaitForFixedUpdate());
    }
        /// <summary>
        /// 部屋に入ったとき
        /// </summary>
        void EnterRoom()
        {
            Debug.Log("enter room");

            if (!_player)
            {
                _player = FindObjectOfType <PlayerCore>();
            }

            _currentRoomView = _player.transform.GetComponentInParent <RoomView>();
            _playerPosition  = _currentRoomView.Room.Coordinate;

            //プレイヤーのいた部屋を移動
            if (_prevStayRoom.X != -1)
            {
                _mapData[_prevStayRoom.Y * 2, _prevStayRoom.X * 2] &= ~(int)MinimapObject.Players;
            }

            _mapData[_playerPosition.Y * 2, _playerPosition.X * 2] |= (int)MinimapObject.Floor;
            _mapData[_playerPosition.Y * 2, _playerPosition.X * 2] |= (int)MinimapObject.Players;

            _prevStayRoom = _playerPosition;

            OnMapChanged?.Invoke(_mapData);
        }
 // Use this for initialization
 void Start()
 {
     player             = GameManager.Player;
     transform.position = new Vector3(player.transform.position.x + xOffset,
                                      transform.position.y,
                                      transform.position.z);
 }
    void CreateNewPlayerCoreData()
    {
        ensureDirectoryExists(rootPath);
        string path = rootPath + "/" + userID + ".json";

        PlayerCore newData = new PlayerCore();

        newData.userID = userID;

        string jsonSaveFile;

        if (hashingEnabled)
        {
            HashedPlayerCore hashedData = new HashedPlayerCore();
            hashedData.playerData = newData;

            string resultHash = DataUtility.Md5Sum(JsonUtility.ToJson(hashedData.playerData, true));
            hashedData.hash = resultHash;

            jsonSaveFile = JsonUtility.ToJson(hashedData, true);
        }
        else
        {
            jsonSaveFile = JsonUtility.ToJson(newData, true);
        }

        File.WriteAllText(path, jsonSaveFile);
    }
示例#13
0
    private PlayerCore player;                 // associated player

    /// <summary>
    /// Initializes the Health Bar UI
    /// </summary>
    public void Initialize(PlayerCore player)
    {
        this.player = player;
        barsArray   = new UnityEngine.UI.Image[3]; // initialize arrays
        gleamArray  = new UnityEngine.UI.Image[3];
        gleaming    = new bool[barsArray.Length];
        gleamed     = new bool[barsArray.Length];
        Color[] colors = new Color[] { Color.green, new Color(0.8F, 0.8F, 0.8F), new Color(0.4F, 0.8F, 1.0F) };
        for (int i = 0; i < barsArray.Length; i++)                                  // iterate through array
        {
            barsArray[i]            = Instantiate(inputBar).GetComponent <Image>(); // instantiate the image
            barsArray[i].fillAmount = 0;                                            // initialize fill to 0 for cool animation
            barsArray[i].color      = colors[i];
            Vector3 tmp = barsArray[i].transform.position;
            tmp.y -= 24 * i;
            barsArray[i].transform.position = tmp;
            barsArray[i].transform.SetParent(transform, false);           // set as parent to the object this script is on

            gleamArray[i] = Instantiate(inputBar).GetComponent <Image>(); // instantiate the image
            if (gleamArray[i].GetComponentInChildren <Text>())
            {
                foreach (Text text in gleamArray[i].GetComponentsInChildren <Text>())
                {
                    Destroy(text.gameObject);
                }
            }
            gleamArray[i].fillAmount = 0; // initialize fill to 0 for cool animation
            tmp    = gleamArray[i].transform.position;
            tmp.y -= 24 * i;
            gleamArray[i].transform.position = tmp;
            gleamArray[i].transform.SetParent(transform, false); // set as parent to the object this script is on
        }
        initialized = true;                                      // set to initialized
    }
示例#14
0
 void Awake()
 {
     _master   = GameMaster.GetInstance();
     _player   = _master.GetPlayer().GetComponent <PlayerCore>();
     _progress = _master.gameObject.GetComponent <GameProgress>();
     _ui       = _master.GetUI().GetComponent <UserInterfaceCore>();
 }
示例#15
0
        private static void Main()
        {
            if (InstanceExists())
            {
                return;
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(true);

            // TODO: Resolve factory as a depenedency by means of some DI solution.
            DefaultFactory Factory = new DefaultFactory();

            try
            {
                PlayerCore Core = new PlayerCore(Factory);

                MainForm MainForm = new MainForm(Core)
                {
                    Icon = Resource.HOLO
                };
                Core.SetView(MainForm);

                Application.Run(MainForm);

                Core.SaveDatabase();
            }
            catch (Exception E)
            {
                Logger.FatalException("Unhandled exception at the top level.", E);

                MessageBox.Show(E.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#16
0
    // Update is called once per frame
    void Update()
    {
        t += Time.deltaTime;

        //blink when close to expiration

        //Lifetime expiration
        if (t > 15.0f)
        {
            Destroy(this.gameObject);
        }

        //Collision detection
        //Abstraction inefficiency
        float   x      = this.gameObject.transform.position.x;
        float   y      = this.gameObject.transform.position.y;
        Vector2 center = new Vector2(x, y);
        float   r      = this.gameObject.GetComponent <CircleCollider2D>().radius;

        Collider2D player = Physics2D.OverlapCircle(center, r, 1 << LayerMask.NameToLayer("Player"));

        //TODO: do an intro timer? Delay before pickup is enabled.
        if (player != null)
        {
            PlayerCore pl = player.gameObject.GetComponent <PlayerCore>();
            pl.hp = Mathf.Min(pl.hp + 25.0f, pl.max_hp);
            Destroy(this.gameObject);
        }
    }
示例#17
0
    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            PlayerCore pc = other.GetComponent <PlayerCore>();
            pc.score += scoreAdd;
            pc.UIManager.UpdateScore();
            switch (objType)
            {
            case Type.spring:
                audioSource.PlayOneShot(MainDefSounds.defaultSounds.spring);
                break;

            case Type.dashPad:
                audioSource.PlayOneShot(MainDefSounds.defaultSounds.dashPad);
                pc.groundedPhysics.currentForce = force.magnitude;
                break;

            case Type.normalRamp:
                audioSource.PlayOneShot(MainDefSounds.defaultSounds.normalRamp);
                break;

            case Type.trickRamp:
                audioSource.PlayOneShot(MainDefSounds.defaultSounds.trickRamp);
                pc.playerSoundCore.PlayTrick();
                break;

            case Type.dashRing:
                audioSource.PlayOneShot(MainDefSounds.defaultSounds.dashRing);
                break;

            case Type.trickDashRing:
                audioSource.PlayOneShot(MainDefSounds.defaultSounds.trickDashRing);
                pc.playerSoundCore.PlayTrick();
                break;
            }


            pc.rb.velocity = transform.TransformDirection(force);

            if (setCameraDirection == true)
            {
                if (camDirNeg)
                {
                    Vector3 dir = -force;
                    pc.orbitCam.transform.rotation = Quaternion.LookRotation(-dir);
                }
                else
                {
                    Vector3 dir = force;
                    pc.orbitCam.transform.rotation = Quaternion.LookRotation(-dir);
                }
            }


            pc.ball = false;
            StartCoroutine(Set(pc));
        }
    }
示例#18
0
    IEnumerator pathPlayer(PathData data)
    {
        var player = PlayerCore.Instance;

        // TODO: Jank workaround, fix eventually
        PathData.Node current = data.waypoints[0];

        while (current != null)
        {
            if (PlayerCore.getDirectionalInput() != Vector2.zero || (currentPathData == null || !currentPathData.waypoints.Contains(current)))
            {
                if (currentPathData == null || (!currentPathData.waypoints.Contains(current)))
                {
                    yield break;
                }
                else
                {
                    foreach (var renderer in reticleRenderersByNode.Values)
                    {
                        if (renderer)
                        {
                            Destroy(renderer.gameObject);
                        }
                    }
                    reticleRenderersByNode.Clear();
                }
                break;
            }

            Vector2 delta         = current.position - (Vector2)player.transform.position - (Vector2)player.GetComponent <Rigidbody2D>().velocity *Time.fixedDeltaTime;
            Vector2 originalDelta = current.position - lastPosition + (Vector2)player.GetComponent <Rigidbody2D>().velocity *Time.fixedDeltaTime;
            player.MoveCraft(delta.normalized);
            var lastNode     = current.ID - 1 > 0 ? GetNode(currentPathData, current.ID - 1) : null;
            var lineRenderer = reticleRenderersByNode[current].GetComponent <LineRenderer>();

            reticleRenderersByNode[current].color = lineRenderer.startColor = lineRenderer.endColor
                                                                                  = Color.Lerp(new Color32((byte)100, (byte)100, (byte)100, (byte)255), Color.green,
                                                                                               (1 - (delta.magnitude / originalDelta.magnitude)));

            if (delta.sqrMagnitude < PathAI.minDist)
            {
                Destroy(reticleRenderersByNode[current].gameObject, 5);
                reticleRenderersByNode.Remove(current);
                if (current.children.Count > 0)
                {
                    lastPosition = current.position;
                    int next = Random.Range(0, current.children.Count);
                    current = GetNode(data, current.children[next]);
                }
                else
                {
                    current = null;
                }
            }
            yield return(null);
        }
        nodeID          = 1;
        currentPathData = null;
    }
示例#19
0
    IEnumerator Set(PlayerCore pc)
    {
        yield return(null);

        yield return(null);

        pc.ball = false;
    }
示例#20
0
 public bool FlipPauseState(PlayerCore pc)
 {
     caller   = pc;
     isPaused = !isPaused;
     pauseObject.SetActive(isPaused);
     Time.timeScale = isPaused ? 0.0f : 1.0f;
     return(isPaused);
 }
示例#21
0
 void Start()
 {
     m_playerCore  = GameObject.Find("Player").GetComponentInChildren <PlayerCore>();
     m_playerEnter = m_playerCore.transform.GetComponent <PlayerEnter>();
     m_text        = GetComponent <Text>();
     m_recordKey   = YamagenLib.PlayInstructor.instance.GetLoadStage().ToString() + "Time";
     m_elapsedTime = 0.0f;
 }
 void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         PlayerCore pc = other.GetComponent <PlayerCore>();
         pc.playerAnimationManager.playerAnimator.Play(animationToPlay);
     }
 }
示例#23
0
 void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         PlayerCore pc = other.GetComponent <PlayerCore>();
         particles.Play();
     }
 }
示例#24
0
 // TODO: fix bug where arrow is disabled initially even though it was enabled in the main menu
 public void Initialize(PlayerCore player)
 {
     if (active)
     {
         this.player = player;
         init        = true;
     }
 }
        private void Start()
        {
            Player = GetComponent <PlayerCore>();

            // Player.OnInitializeAsync.Subscribe(_ => OnInitialize()).AddTo(this);

            OnStart();
        }
示例#26
0
    void Start()
    {
        _Core = GameObject.FindWithTag("Player").GetComponent <PlayerCore>();

        _Core.CurrentHealth
        .Subscribe(_ => UpdateHPData())
        .AddTo(_Core);
    }
 public virtual void SetOwner(PlayerCore weaponOwner)
 {
     this.weaponOwner = weaponOwner;
     foreach (var effect in Effects)
     {
         Destroy(effect);
     }
 }
    /// <summary>
    /// GameReusltManagerが実行する
    /// </summary>
    /// <param name="results"></param>
    public void ShowResult(IEnumerable<ResultInfo> results, PlayerCore winner)
    {
        resultPanel.SetActive(true);

        var lt =
            results.Select((x, index) => string.Format("{0}位: {1}({2:F1}秒)\n", index + 2, x.PlayerCore.PlayerName, x.DeadTime))
                .Aggregate((p, c) => p + c);

        loaserText.text = lt;
        winnerText.text = string.Format("1位: {0}", winner.PlayerName);
    }
示例#29
0
    private GUIText sta_text; //Actual GUI Text object

    #endregion Fields

    #region Methods

    // Use this for pre-initialization
    void Awake()
    {
        player_core = player.GetComponent<PlayerCore>();

        hp_text = hp_text_obj.GetComponent<GUIText>();
        hp_bar  = hp_bar_obj.GetComponent<GUITexture>();
        hp_bar_cap_r = hp_bar_cap_r_obj.GetComponent<GUITexture>();

        sta_text = sta_text_obj.GetComponent<GUIText>();
        sta_bar  = sta_bar_obj.GetComponent<GUITexture>();
        sta_bar_cap_r = sta_bar_cap_r_obj.GetComponent<GUITexture>();
    }