Exemple #1
0
    public void ChangeTurn()
    {
        if (!CanChangeTurn)
        {
            return;
        }
        CanChangeTurn = false;


        Debug.Log("Turn Changed");
        if (PlayerInTurn == PlayerTop)
        {
            PlayerTop.isInTurn = false;
            PlayerNotInTurn    = PlayerTop;

            PlayerInTurn          = PlayerBottom;
            PlayerBottom.isInTurn = true;
        }
        else
        {
            PlayerBottom.isInTurn = false;
            PlayerNotInTurn       = PlayerBottom;

            PlayerInTurn       = PlayerTop;
            PlayerTop.isInTurn = true;
        }
        TouchHandler.GetInstance().HasReleasedShot = false;
        TouchHandler.GetInstance().CanTouch        = true;
        Glow(PlayerInTurn, true);
        Glow(PlayerNotInTurn, false);
    }
Exemple #2
0
    public override void UpdateLogic()
    {
        if (mController.ShouldPlayNextAnimation(mAnimQueue[animIndex]))
        {
            if (animIndex + 1 <= mAnimQueue.Length - 1)
            {
                animIndex++;
                mController.PlayAnimation(mAnimQueue[animIndex]);
                if (mAnimSpeed != null)
                {
                    mController.getAnimator().speed = mAnimSpeed[animIndex];
                }
                mNextStatus = STATUS.NONE;
            }
            else
            {
                mNextStatus = OnAnimationEnd();
            }
        }
        if (cs != null)
        {
            switch (mAnimQueue[animIndex])
            {
            case ANIM_INDEX.SKILL04:
                if (cs.mCurMobalId == MobaObjectID.HeroJiansheng || cs.mCurMobalId == MobaObjectID.HeroHuanci)
                {
                    mController.Move(TouchHandler.GetInstance().mOffset);
                }
                break;

            default:
                break;
            }
        }
    }
Exemple #3
0
    private void OnCollisionEnter2D(Collision2D other)
    {
        var force     = BallRigidbody.velocity * 8;
        var wallforce = 50f;

        if (other.gameObject.CompareTag("hands") || other.gameObject.CompareTag("wall"))
        {
            var dir = other.contacts[0].point - (Vector2)transform.position;
            dir = -dir.normalized;
            GetComponent <Rigidbody2D>().WakeUp();
            GetComponent <Rigidbody2D>().AddForce(dir * force);
            Debug.Log("touched " + other.gameObject.tag + " with force " + dir);
        }
        else if (other.gameObject.CompareTag("insidePost"))
        {
            if (GoalCounted) //so that the goal is not counted on every collision
            {
                return;
            }

            TouchHandler.GetInstance().HasReleasedShot = false;
            TurnHandler.GetInstance().PlayerInTurn
            .CountOfGoal(other.gameObject);
            TurnHandler.GetInstance().PlayerNotInTurn
            .CountOfGoal(other.gameObject);


            //for goaled or ownGoaled
            UIHandler.GetInstance().Goaled(TurnHandler.GetInstance().GoaledPlayer == TurnHandler.GetInstance().PlayerInTurn);

            GoalCounted = true;
            TurnHandler.GetInstance().CanChangeTurn = true;
            TurnHandler.GetInstance().ChangeTurn();
        }
    }
Exemple #4
0
 public override void UpdateLogic()
 {
     mNext = STATUS.NONE;
     if (shouldMove)
     {
         PlayerMotion playerMotion = CharacterManager.playerCS.pm;
         if (playerMotion.cs == null || playerMotion.cs.attackTarget == null || playerMotion.cs.isDie || playerMotion.cs.attackTarget.isDie)
         {
             return;
         }
         Vector3 relativePos  = playerMotion.cs.attackTarget.transform.position - playerMotion.cs.transform.position;
         float   tempDistance = Vector3.Distance(playerMotion.cs.transform.position, playerMotion.cs.attackTarget.transform.position);
         if (playerMotion.cs.mCurSkillNode != null)
         {
             if (tempDistance <= playerMotion.cs.mCurSkillNode.dist)
             {
                 ReleaseSkill();
             }
             else
             {
                 mController.SetDirection(relativePos);
                 mController.Move(relativePos);
             }
         }
     }
     else
     {
         mController.SetDirection(TouchHandler.GetInstance().mOffset);
         mController.Move(TouchHandler.GetInstance().mOffset);
     }
 }
Exemple #5
0
 public void FormationSetter(int formationNumber)
 {
     FormationNumber = formationNumber;
     StartCoroutine(SetFormation(callback =>
     {
         TouchHandler.GetInstance().Ball.GetComponent <CircleCollider2D>().isTrigger = false;
     }));
 }
 public CommonPlayerActionHandler(IActorController actionController)
 {
     this.ActController = actionController;
     mTouchHandler      = TouchHandler.GetInstance();
     mStateHelper       = new StateHelper();
     mStateHelper.SetActionController(actionController);
     mStateHelper.UseNet = true;
     InitStatus();
 }
Exemple #7
0
    private void Start()
    {
        PlayerTop    = GameManager.GetInstance().Player2;
        PlayerBottom = GameManager.GetInstance().Player1;

        _ballAnimator = TouchHandler.GetInstance().Ball.GetComponent <Animator>();
        PlayerInTurn  = Random.Range(0, 2) == 0 ? PlayerTop:PlayerBottom;
        ChangeTurn();
    }
Exemple #8
0
 void IStatus.Init(IActorController controller, StateHelper helper)
 {
     mController   = controller;
     mStateHelper  = helper;
     mTouchHandler = TouchHandler.GetInstance();
     fightTouch    = FightTouch._instance;
     AddCondition(IsUnderAttack, STATUS.HIT);
     AddCondition(IsControlPassive, STATUS.IDLE);//stop the state matchine update by using idle state anyway
     AddCondition(IsCanNotControl, STATUS.CANNOTCONTROL);
 }
Exemple #9
0
    void Awake()
    {
        up            = transform.GetComponentInChildren <EasyTouch>();
        mTouchHandler = TouchHandler.GetInstance();
        Dictionary <long, MapInfoNode> tempMapInfo = FSDataNodeTable <MapInfoNode> .GetSingleton().DataNodeList;

        List <MapInfoNode> mTempMapInfo = new List <MapInfoNode>(tempMapInfo.Values);

        mCurMapInfo = new MapInfoNode[mTempMapInfo.Count];
        mTempMapInfo.CopyTo(mCurMapInfo);
    }
Exemple #10
0
 void CheckKey(KeyCode k, TOUCH_KEY tk)
 {
     if (Input.GetKeyDown(k))
     {
         TouchHandler.GetInstance().Touch(tk);
     }
     if (Input.GetKeyUp(k))
     {
         TouchHandler.GetInstance().Release(tk);
     }
 }
Exemple #11
0
 void OnClickSkillBtn(int index, bool b)
 {
     if (b)
     {
         TouchHandler.GetInstance().Touch(GetSkillStatusByIndex(index));
     }
     else
     {
         TouchHandler.GetInstance().Release(GetSkillStatusByIndex(index));
     }
     OnSkill(index);
 }
Exemple #12
0
 public void IncreaseScore()
 {
     MyScore++;
     MyScoreText.text = MyScore.ToString();
     Debug.Log("My goals= " + MyScore);
     //check own's score and game over if conditionmeet
     if (MyScore > GameManager.GetInstance().GameScoreAmount)
     {
         StartCoroutine(UIHandler.GetInstance().GameOver(true));
     }
     StartCoroutine(GameManager.GetInstance().AfterGoal());
     TouchHandler.GetInstance().IsInTouch = false;
 }
Exemple #13
0
 private void SetCsAndPm(Animator animator)
 {
     if (cs == null)
     {
         cs = animator.GetComponent <CharacterState>();
     }
     if (pm == null)
     {
         pm = animator.GetComponent <PlayerMotion>();
     }
     mTouchHandler = TouchHandler.GetInstance();
     mFightTouch   = FightTouch._instance;
 }
Exemple #14
0
    public void Glow(PlayerScript player, bool glow)
    {
        TouchHandler.GetInstance().Ball.transform.GetChild(0).gameObject.SetActive(true);
        TouchHandler.GetInstance().Ball.transform.GetChild(0).GetComponent <SpriteRenderer>().color =
            PlayerInTurn.PlayerColor;
        if (glow)
        {
            _ballAnimator.Play("BallSelect");
        }

        PlayerInTurn.MyPost.GetComponent <SpriteRenderer>().color = GameManager.GetInstance().InactiveColor;
        PlayerInTurn.MyPost.transform.GetChild(0).GetComponent <SpriteRenderer>().color = GameManager.GetInstance().InactiveColor;
        PlayerNotInTurn.MyPost.GetComponent <SpriteRenderer>().color = GameManager.GetInstance().ActiveColor;
        PlayerNotInTurn.MyPost.transform.GetChild(0).GetComponent <SpriteRenderer>().color = GameManager.GetInstance().ActiveColor;
    }
Exemple #15
0
    public IEnumerator AfterGoal()
    {
        yield return(new WaitForSecondsRealtime(1.2f));

        //Moving the ball to center
        TouchHandler.GetInstance().Ball.transform.position = new Vector3(0, 0);
        TouchHandler.GetInstance().Ball.GetComponent <Rigidbody2D>().Sleep();
        //Turning off the colliders on the Goal line
        GoalPostTop.gameObject.transform.GetChild(0).GetComponent <BoxCollider2D>()
        .enabled = false;
        GoalPostBottom.gameObject.transform.GetChild(0).GetComponent <BoxCollider2D>()
        .enabled = false;
        TouchHandler.GetInstance().Ball.GetComponent <BallScript>().GoalCounted = false;
        TouchHandler.GetInstance().Ball.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = true;

        TouchHandler.GetInstance().CanTouch = true;
    }
Exemple #16
0
    void OnSummon(int index, bool b)
    {
        CancelTp();
        if (TaskAutoTraceManager._instance != null)
        {
            TaskAutoTraceManager._instance.StopTaskAutoFindWay();
        }
        CancelRiding();
        if (b)
        {
            TouchHandler.GetInstance().Touch(GetSkillStatusByIndex(index + 4));
        }
        else
        {
            TouchHandler.GetInstance().Release(GetSkillStatusByIndex(index + 4));
        }

        DoSummon(index, Globe.Heros()[index - 4]);
    }
Exemple #17
0
    void OnAttack(bool b)
    {
        //Debug.Log("ON ATTACK " + b);
        if (!Enabled)
        {
            return;
        }
        if (b)
        {
            TouchHandler.GetInstance().Touch(GetSkillStatusByIndex(0));
        }
        else
        {
            TouchHandler.GetInstance().Release(GetSkillStatusByIndex(0));
        }

        if (!b)
        {
            return;
        }

        FightTouchDelegate(TOUCH_KEY.Attack);

        CharacterManager.instance.shouldMove = false;
        CharacterManager.instance.SwitchAutoMode(false);
        CancelTp();
        CancelRiding();
        if (TaskAutoTraceManager._instance != null)
        {
            TaskAutoTraceManager._instance.StopTaskAutoFindWay();
        }
        attack.Effect.SetActive(true);
        BattleUtil.PlayParticleSystems(attack.Effect);
        if (CharacterManager.playerCS != null && CharacterManager.playerCS.pm != null)
        {
            SkillNode skillNode = GetSkillNodeByIndex(CharacterManager.playerCS.pm.AttackCount - 1);
            if (skillNode.site != 0)
            {
                return;
            }
            CharacterManager.instance.PlayerSkill(skillNode, CharacterManager.playerCS.pm.AttackCount);
        }
    }
Exemple #18
0
    private void Update()
    {
        MySpeed = TouchHandler.GetInstance().RigidBodyBall.velocity.magnitude;


        if (MySpeed < 0.2f)
        {
            BallRigidbody.Sleep();
            if (TouchHandler.GetInstance().HasReleasedShot)
            {
                TurnHandler.GetInstance().CanChangeTurn = true;
                TouchHandler.GetInstance().IsInTouch    = false;

                TurnHandler.GetInstance().ChangeTurn();
            }
        }


//        if (gameObject.GetComponent<CircleCollider2D>().CompareTag("hands"))
//        {
//            BallRigidbody.AddTorque(Pole.GetInstance().Arms.transform.rotation.y);
//        }
    }
Exemple #19
0
    void CreateBoundry()
    {
        float screenAspect = (float)Screen.width / Screen.height;

        Debug.Log("Aspect is " + screenAspect);
        Vector3 screenDimen = new Vector3();

        if (screenAspect == 0.75f)
        {
            screenDimen =
                Camera.main.ScreenToWorldPoint(new Vector3(Screen.width - Screen.width / 8, Screen.height, 0f)) * 2;
            Debug.Log("it is 4:3");
        }
        else
        {
            screenDimen =
                Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, 0f)) * 2;
        }


        float sideBoundaryLength = screenDimen.y / 2 + screenDimen.y / 4 + .5f;
        float thicknessOfBoundry = 0.5f;
        // left
        GameObject left = Instantiate(Boundary);

        left.name = "boundryLeft";
        left.transform.position   = new Vector2(-screenDimen.x / 2, 0f);
        left.transform.localScale = new Vector2(thicknessOfBoundry, sideBoundaryLength);
        BoundryLeft = left.transform.position.x + 0.5f;


        //right
        GameObject right = Instantiate(Boundary);

        right.name = "boundryRight";
        right.transform.position   = new Vector2(screenDimen.x / 2, 0f);
        right.transform.localScale = new Vector2(thicknessOfBoundry, sideBoundaryLength);
        BoundaryRight = right.transform.position.x - 0.5f;


        //topLeft
        GameObject topLeft = Instantiate(Boundary);

        topLeft.name = "boundryTopLeft";
        topLeft.transform.position   = new Vector2(-screenDimen.x / 3, 2 * screenDimen.y / 5);
        topLeft.transform.localScale = new Vector2(2 * screenDimen.x / 5, thicknessOfBoundry - .1f);
        //topRight
        GameObject topRight = Instantiate(Boundary);

        topRight.name = "boundryTopRight";
        topRight.transform.position   = new Vector2(screenDimen.x / 3, 2 * screenDimen.y / 5);
        topRight.transform.localScale = new Vector2(2 * screenDimen.x / 5, thicknessOfBoundry - .1f);
        BoundaryTop = topLeft.transform.position.y - 0.5f;


        //bottompLeft
        GameObject bottomLeft = Instantiate(Boundary);

        bottomLeft.name = "boundryBottomLeft";
        bottomLeft.transform.position   = new Vector2(-screenDimen.x / 3, -2 * screenDimen.y / 5);
        bottomLeft.transform.localScale = new Vector2(2 * screenDimen.x / 5, thicknessOfBoundry - .1f);
        //bottomRight
        GameObject bottomRight = Instantiate(Boundary);

        bottomRight.name = "boundryBottomRight";
        bottomRight.transform.position   = new Vector2(screenDimen.x / 3, -2 * screenDimen.y / 5);
        bottomRight.transform.localScale = new Vector2(2 * screenDimen.x / 5, thicknessOfBoundry - .1f);
        BoundaryTop = topLeft.transform.position.y - 0.5f;


        //put circular colliders at the Corners
        //top right
        GameObject CircleTopRight = Instantiate(CircluarCollider);

        CircleTopRight.name = "TopRightCircle";
        CircleTopRight.transform.position = new Vector2(screenDimen.x / 2, 2 * screenDimen.y / 5);

        //top left
        GameObject CircleTopLeft = Instantiate(CircluarCollider);

        CircleTopLeft.name = "TopLeftCircle";
        CircleTopLeft.transform.position = new Vector2(-screenDimen.x / 2, 2 * screenDimen.y / 5);

        //bottom right
        GameObject CircleBottomRight = Instantiate(CircluarCollider);

        CircleBottomRight.name = "BottomRightCircle";
        CircleBottomRight.transform.position = new Vector2(screenDimen.x / 2, -2 * screenDimen.y / 5);

        //bottom right
        GameObject CircleBottomLeft = Instantiate(CircluarCollider);

        CircleBottomLeft.name = "BottomLeftCircle";
        CircleBottomLeft.transform.position = new Vector2(-screenDimen.x / 2, -2 * screenDimen.y / 5);



        //put goal post

        //top
        GoalPostTop.transform.position   = new Vector2(0, 2 * screenDimen.y / 5 + thicknessOfBoundry / 2);
        GoalPostTop.transform.localScale = new Vector2(screenDimen.x - 4 * screenDimen.x / 5, 1.2f);
        //bottom
        GoalPostBottom.transform.position   = new Vector2(0, -2 * screenDimen.y / 5 - thicknessOfBoundry / 2);
        GoalPostBottom.transform.localScale = new Vector2(screenDimen.x - 4 * screenDimen.x / 5, 1.2f);

        //MAKE BACKGROUND IMAGE SAME SIZE TO PLAYABLE SIZE
        TouchHandler.GetInstance().transform.localScale = new Vector2(screenDimen.x, sideBoundaryLength);
    }
Exemple #20
0
 public void OpenFormationSetterPanel(bool open)
 {
     TouchHandler.GetInstance().Ball.GetComponent <CircleCollider2D>().isTrigger = true;
     _formationPanelAnimator.Play(open == true? "PanelOpenClose":"PanelOpenClose 0");
 }
Exemple #21
0
 void Awake()
 {
     FindPosTrans(transform);
     mTouchHandler = TouchHandler.GetInstance();
 }