Example #1
0
	// Use this for initialization
	void Start () {
		if(LOCAL==null) {
			LOCAL = this;
			DontDestroyOnLoad(this);	
		}
	
	}
Example #2
0
 // Use this for initialization
 void Start()
 {
     pro_main = GetComponent<ProjectileMain> ();
     plr_main = pro_main.Creator;
     line_rend = gameObject.GetComponentInChildren<LineRenderer> ();
     direction = plr_main.UpperTorsoDir;
     startPos = plr_main.transform.position;
 }
    // Use this for initialization
    void Start()
    {
        pro_main=GetComponent<ProjectileMain>();
        plr_main = pro_main.Creator;
        transform.position = plr_main.transform.position;

        transform.localScale*=pro_main.mod_stats.Radius;
        plr_main.setInvulnerable(true);
    }
Example #4
0
    // Use this for initialization
    void Start()
    {
        force=GetComponent<ProjectileMain>().mod_stats.Knockback;
        radius=GetComponent<ProjectileMain>().mod_stats.Radius;

        plr = GetComponent<ProjectileMain>().Creator;

        plr.IgnoreExplosion();

        NotificationCenter.Instance.sendNotification(new Explosion_note(plr.transform.position+Vector3.down, force*10000, radius));
        NotificationCenter.Instance.sendNotification (new Knockback_note (plr.transform.position, force, radius,1f,null));
    }
    IEnumerator Jump(PlayerMain player)
    {
        float
            dis=0.5f,dis_extra=dis+2f;
        Vector3
            dir=player.transform.TransformDirection(player.LowerTorsoDir),
            start_pos=player.transform.position,
            end_pos=start_pos+dir*dis;

        //player.transform.position=end_pos;
        //return;

        //Debug.Log("COLLISION CHECK::: DIS: "+Vector3.Distance(start_pos,end_pos));

        var hits=Physics.RaycastAll(start_pos,dir,dis_extra).OrderBy(r=>Vector3.Distance(start_pos,end_pos)).ToArray();

        /*
        foreach (var h in hits){
            Debug.Log("hit dis "+h.distance);
        }*/

        float current_warp_dis=dis;
        Ray ray=new Ray(start_pos,dir);
        bool jump=true;

        for (int i=0;i<hits.Length;i++){
            var hit=hits[i];
            float
                hit_dis=(new Vector2(start_pos.x,start_pos.z)-new Vector2(hit.collider.transform.position.x,hit.collider.transform.position.z)).magnitude,
                hit_rad=hit.collider.bounds.size.x/2f,
                min_dif=0.5f+hit_rad,
                dis_dif=current_warp_dis-hit_dis;

            if (Mathf.Abs(dis_dif)>min_dif){
                //good pos jump
                break;
            }
            else{
                //too close change pos
                current_warp_dis=Mathf.Max (dis,hit_dis-min_dif);
                if (current_warp_dis<=0.5f){//too close no jump!
                    jump=false;
                    break;
                }
            }

        }
        if (jump)
            player.transform.position=ray.GetPoint(current_warp_dis);

        yield return null;
    }
Example #6
0
    // Use this for initialization
    void Start()
    {
        pro_main=GetComponent<ProjectileMain>();
        player = pro_main.Creator;
        heading = player.LowerGraphicsDir*Vector3.forward;
        force=pro_main.mod_stats.Speed;
        power=pro_main.mod_stats.Power;
        knockback=pro_main.mod_stats.Knockback;

        speedVector=heading * (force / 2f);

        player.DashStart(speedVector);
    }
 IEnumerator doJump(PlayerMain player)
 {
     int i=0;
     while (i<5){
         Debug.Log("JUMP! "+i);
         //yield return jump(player);
         player.StartCoroutine(Jump(player));
         yield return new WaitForSeconds(0);
         Debug.Log("JUMP DONE! "+i);
         i++;
     }
     yield return null;
 }
Example #8
0
 void Start()
 {
     _player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerMain>();
     if (_player.getSceneLoadData() != null) {
         Debug.Log("Prepping scene");
         string destination = _player.getSceneLoadData().destination;
         string source = _player.getSceneLoadData().source;
         prepare_scene(destination, source);
     }
     else {
         alt_prepare_scene();
     }
 }
    public AbilityContainer(PlayerMain player,AbilityItem ability)
    {
        cooldown=new Timer(1000,OnTimer,true);
        cooldown.Active=false;

        this.player=player;

        Ability=ability;

        ability_prefab=Ability.Ability;
        upgrade_stats=Ability.Stats;
        projectile_prefab=ability_prefab.GetComponent<AbilityStats>().ProjectilePrefab;

        ProStats = ability_prefab.GetComponent<ProjectileStats>();
        sfx = ability_prefab.GetComponent<StoreSounds>();
    }
Example #10
0
    void Awake()
    {
        if (instance == null)
            instance = this;

        // GetComponent
        m_EMFSM = GetComponent<EnemyMainFSM> ();
        thisRB = GetComponent<Rigidbody2D> ();
        PMain = GameObject.Find("Player_Cell").GetComponent<PlayerMain>();

        // Size
        nInitialNutrientNum = Settings.s_nEnemyMainInitialNutrientNum;
        nCurrentNutrientNum = nInitialNutrientNum;
        // Speed
        fSpeed = Settings.s_fEnemyMainInitialVertSpeed;
        fSpeedFactor = 1f;
        fSpeedTemp = fSpeed;
        bIsDefend = false;
        fDefendFactor = 0.9f;
        // Initialization of horizontal movement
        // Randomize direction
        int nDirection = Random.Range (0, 2);
        if (nDirection == 0)
            bMovingLeft = true;
        else
            bMovingLeft = false;
        // Horizontal speed
        fMinHoriSpeed = Settings.s_fEnemyMainMinHiriSpeed;
        fHoriSpeed = Random.Range (fMinHoriSpeed, fMinHoriSpeed * 2f);
        bCanChangeHori = true;
        // Velocity
        velocity = new Vector2 (fHoriSpeed, fSpeed * fSpeedFactor);
        thisRB.velocity = velocity;
        pushBackVel = new Vector2 (0.0f, -5.0f);
        pushForwardVel = new Vector2 (0.0f, 1.0f);
        stunVel = new Vector2 (0.0f, -0.5f);
        // Damage
        nDamageNum = 0;
        // State
        bPushed = false;
        bStunned = false;
        bCanPush = true;
        bCanStun = true;
        bJustAttacked = false;
        fAttackElapsedTime = 0.1f;
        fDefaultStunTime = Settings.s_fDefaultStunTime;
        fCurrentStunTime = fDefaultStunTime;
        fStunCoolDown = fDefaultStunTime * 2.0f;
        fDefaultStunTolerance = Settings.s_fDefaultStunTolerance;
        fCurrentStunTolerance = fDefaultStunTolerance;

        bIsMainBeingAttacked = false;
        bIsAllChildWithinMain = false;
        fNumOfDefaultCells = Settings.s_nEnemyMainInitialChildCellNum;
    }
    public void UseSkill(ProjectileStatsContainer mod_stats,PlayerMain player)
    {
        float
            dis=mod_stats.Radius,dis_extra=dis+2f;
        Vector3
            dir=player.transform.TransformDirection(player.AimDir),
            start_pos=player.transform.position
            ;//end_pos=start_pos+dir*dis;

        Ray ray=new Ray(start_pos,dir);
        var hits=Physics.RaycastAll(ray,dis_extra).OrderByDescending(r=>r.distance).ToArray();

        float current_warp_dis=dis;

        bool jump=true;

        for (int i=0;i<hits.Length;i++){
            var hit=hits[i];
            float
                hit_dis=(new Vector2(start_pos.x,start_pos.z)-new Vector2(hit.collider.transform.position.x,hit.collider.transform.position.z)).magnitude,
                hit_rad=hit.collider.bounds.size.x/2f,
                min_dif=0.5f+hit_rad,
                dis_dif=Mathf.Abs(current_warp_dis-hit_dis),
                min_legal=0.1f,
                next_to_hit=hit_dis-min_dif;

            if (current_warp_dis<=min_legal){
                //Too close. No jump.
                jump=false;
                break;
            }
            if (dis_dif<min_dif){
                //too close to this collider->Change current to min legal distance from collider and continue;
                current_warp_dis=next_to_hit;
            }else{

                if (next_to_hit>dis){
                    //this object is not on the way. Continue iterating
                    continue;
                }
                //totally legit position. Go for it!
                break;
            }

            /*
            if (next_valid_jump_dis>distance){
                continue;//over legal distance.
            }else
            if (){
                continue;//under legal distance
            {
                */

            /*
            if (Mathf.Abs(dis_dif)>min_dif){
                //good pos jump
                current_warp_dis=dis_dif;
                break;
            }
            else{
                //too close change pos
                current_warp_dis=Mathf.Max (dis,hit_dis-min_dif);
                if (current_warp_dis<=0.5f){//too close no jump!
                    jump=false;
                    break;
                }
            }
            */
        }
        if (jump){
            var start=Resources.Load("TeleStart") as GameObject;
            var end=Resources.Load("TeleEnd") as GameObject;

            Instantiate(start,player.transform.position,Quaternion.identity);

            player.transform.position=ray.GetPoint(current_warp_dis);

            Instantiate(end,player.transform.position,Quaternion.identity);
        }
    }
 public Knockback_note(Vector3 position,float force,float radius,float seconds_disabled,PlayerMain ignore)
     : base(NotificationType.HaxKnockback)
 {
     ignore_this=ignore;
     Position=position;
     Force=force;
     Radius=radius;
     Seconds=seconds_disabled;
 }
Example #13
0
 public static void ResetStatics()
 {
     s_Instance = null;
 }
Example #14
0
    void Awake()
    {
        if (PlayerMain.s_Instance == null)
        {
            PlayerMain.s_Instance = this;
        }
        else
        {
            Destroy(this.gameObject);
        }

        m_bIsAlive = true;
        m_bNeedsResizing = false;
        m_nHealth = Settings.s_nPlayerInitialHealth;
        m_nMaxHealth = m_nHealth;
        mAnimate = new Animate(this.transform);
        spriteRen = gameObject.GetComponent<SpriteRenderer>();
        m_surroundingEnemyCells = null;
        m_Scale = new Vector3(m_fMaxScale, m_fMaxScale, m_fMaxScale);
        m_nDeathAnimStage = 0;
        transform.localScale = m_Scale;
    }
 public PlayerAnimations(PlayerMain player)
 {
     this.player=player;
 }
Example #16
0
    // Called by the engine when all objects are created
    void Start()
    {
        _player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerMain>();
        _inventory = GetComponent<ItemInventory>();

        // set item prices
        _prices.Add(101, 5);
        _prices.Add(102, 15);
        _prices.Add(201, 5);
        _prices.Add(202, 15);
        _prices.Add(301, 5);
        _prices.Add(302, 15);
        _prices.Add(401, 5);
        _prices.Add(402, 15);
        _prices.Add(501, 5);
        _prices.Add(502, 15);

        // load or create inventory
        var try_loading = _inventory.loadFromDisk("merchant");
        if (!try_loading) { // no data on disk, create it
            //This was stuff put in for testing
            //_inventory.addItem(1,10);
            _inventory.addItem(101);
            _inventory.addItem(102);
            _inventory.addItem(201);
            _inventory.addItem(202);
            _inventory.addItem(301);
            _inventory.addItem(302);
            _inventory.addItem(401);
            _inventory.addItem(402);
            _inventory.addItem(501);
            _inventory.addItem(502);
            //_player.addItem(0,100);

            //foreach (int i in _inventory.getItemList().Keys){
            //	_prices.Add(i, 1);
            //}
        }
    }
Example #17
0
 private void Start()
 {
     player = GameManager.Instance.Players[0];
     followTransform = player.transform.FindChild("FollowTarget");
 }
 // Use this for initialization
 void Start()
 {
     pro_main=GetComponent<ProjectileMain>();
     plr_main = pro_main.Creator;
     line_rend=gameObject.GetComponentInChildren<LineRenderer>();
 }
 public void UseSkill(ProjectileStatsContainer mod_stats,PlayerMain player)
 {
     player.StartCoroutine(doJump(player));
 }
Example #20
0
 public void addHero(PlayerMain hero)
 {
     m_hero = hero as PlayerMain;
     addPlayer(m_hero);
 }
 void Awake()
 {
     reference = this;
 }
 private void Awake()
 {
     player = GameManager.Instance.Players[0];
 }