public void Setup(PlayerOvermap playerOvermap, float tractorDistance, float tractorSpeed, Action onReachedPlayer)
 {
     this.playerOvermap   = playerOvermap;
     this.tractorDistance = tractorDistance;
     this.tractorSpeed    = tractorSpeed;
     this.onReachedPlayer = onReachedPlayer;
 }
예제 #2
0
 private void Awake()
 {
     instance          = this;
     playerBase        = gameObject.GetComponent <Player_Base>();
     material          = transform.Find("Body").GetComponent <MeshRenderer>().material;
     materialTintColor = new Color(1, 0, 0, 0);
     SetStateNormal();
 }
예제 #3
0
 public OvermapHandler(PlayerOvermap playerOvermap)
 {
     instance           = this;
     this.playerOvermap = playerOvermap;
     followerList       = new List <FollowerOvermap>();
     npcList            = new List <NPCOvermap>();
     enemyList          = new List <EnemyOvermap>();
     overmapRunning     = true;
 }
예제 #4
0
    public void Setup(Character character, PlayerOvermap playerOvermap)
    {
        this.character     = character;
        this.playerOvermap = playerOvermap;
        material           = new Material(material);
        switch (character.type)
        {
        default:
        case Character.Type.Enemy_MinionOrange:
            material.mainTexture = GameAssets.i.t_EnemyMinionOrange;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dMinion_Idle, GameAssets.UnitAnimTypeEnum.dMinion_Walk, 1f, 1f);
            break;

        case Character.Type.Enemy_MinionRed:
            material.mainTexture = GameAssets.i.t_EnemyMinionRed;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dMinion_Idle, GameAssets.UnitAnimTypeEnum.dMinion_Walk, 1f, 1f);
            break;

        case Character.Type.Enemy_Ogre:
            material.mainTexture = GameAssets.i.t_Ogre;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dOgre_Idle, GameAssets.UnitAnimTypeEnum.dOgre_Walk, 1f, 1f);
            break;

        case Character.Type.Enemy_Zombie:
            material.mainTexture = GameAssets.i.t_Zombie;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dZombie_Idle, GameAssets.UnitAnimTypeEnum.dZombie_Walk, 1f, 1.3f);
            break;

        case Character.Type.EvilMonster:
        case Character.Type.EvilMonster_2:
        case Character.Type.EvilMonster_3:
            material.mainTexture = GameAssets.i.t_EvilMonster;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dBareHands_Idle, GameAssets.UnitAnimTypeEnum.dBareHands_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 1.7f;
            break;
        }
        transform.Find("Body").GetComponent <MeshRenderer>().material = material;
        spawnPosition   = GetPosition();
        roamPosition    = GetPosition();
        roamDistanceMax = 20f;

        if (character.type == Character.Type.EvilMonster ||
            character.type == Character.Type.EvilMonster_2 ||
            character.type == Character.Type.EvilMonster_3)
        {
            roamDistanceMax = 5f;
        }

        SetTargetMovePosition(GetPosition());
    }
예제 #5
0
    public void Setup(Character character, PlayerOvermap playerOvermap, Vector3 followOffset)
    {
        this.character     = character;
        this.playerOvermap = playerOvermap;
        this.followOffset  = followOffset;

        switch (character.type)
        {
        case Character.Type.Tank:
            material.mainTexture = GameAssets.i.t_Tank;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dSwordShield_Idle, GameAssets.UnitAnimTypeEnum.dSwordShield_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 1.2f;
            break;

        case Character.Type.Sleezer:
            material.mainTexture = GameAssets.i.t_Sleezer;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dBareHands_Idle, GameAssets.UnitAnimTypeEnum.dBareHands_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 0.7f;
            sleezerTripUpTimer   = 5f;
            if (GameData.state == GameData.State.DefeatedTank)
            {
                sleezerTripUpTimer = 2f;
            }
            speed = 65f;
            break;

        case Character.Type.Healer:
            material.mainTexture = GameAssets.i.t_Healer;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dDualDagger_Idle, GameAssets.UnitAnimTypeEnum.dDualDagger_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 1.0f;
            break;
        }

        healthSystem = new HealthSystem(character.stats.healthMax);
        healthSystem.SetHealthAmount(character.stats.health);
        healthWorldBar = new World_Bar(transform, new Vector3(0, 10), new Vector3(15, 2), Color.grey, Color.red, healthSystem.GetHealthPercent(), UnityEngine.Random.Range(10000, 11000), new World_Bar.Outline {
            color = Color.black, size = .6f
        });
        healthSystem.OnHealthChanged += HealthSystem_OnHealthChanged;
        RefreshHealthBar();

        SetTargetMovePosition(playerOvermap.GetPosition() + followOffset);
    }
예제 #6
0
    public void Setup(Character character, PlayerOvermap playerOvermap)
    {
        this.character     = character;
        this.playerOvermap = playerOvermap;

        playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dBareHands_Idle, GameAssets.UnitAnimTypeEnum.dBareHands_Walk, 1f, 1f);

        switch (character.type)
        {
        case Character.Type.Tank:
            material.mainTexture = GameAssets.i.t_Tank;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dSwordShield_Idle, GameAssets.UnitAnimTypeEnum.dSwordShield_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 1.2f;
            break;

        case Character.Type.Healer:
            material.mainTexture = GameAssets.i.t_Healer;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dDualDagger_Idle, GameAssets.UnitAnimTypeEnum.dDualDagger_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 1.0f;
            break;

        case Character.Type.PlayerDoppelganger:
            material.mainTexture = GameAssets.i.t_Player;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dBareHands_Idle, GameAssets.UnitAnimTypeEnum.dBareHands_Walk, 1f, 1f);
            transform.localScale = Vector3.one * 1.0f;
            break;

        case Character.Type.Shop:
            material.mainTexture = GameAssets.i.t_Vendor;
            break;

        case Character.Type.Villager_1: material.mainTexture = GameAssets.i.t_Villager_1; break;

        case Character.Type.Villager_2: material.mainTexture = GameAssets.i.t_Villager_2; break;

        case Character.Type.Villager_3: material.mainTexture = GameAssets.i.t_Villager_3; break;

        case Character.Type.Villager_4: material.mainTexture = GameAssets.i.t_Villager_4; break;

        case Character.Type.Villager_5: material.mainTexture = GameAssets.i.t_Villager_5; break;

        case Character.Type.Randy:
            material.mainTexture = GameAssets.i.t_Randy;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dBareHands_Idle, GameAssets.UnitAnimTypeEnum.dBareHands_Walk, 1f, 1f);
            break;

        case Character.Type.TavernAmbush:
            material.mainTexture = GameAssets.i.t_EnemyMinionRed;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dMinion_Idle, GameAssets.UnitAnimTypeEnum.dMinion_Walk, 1f, 1f);
            break;

        case Character.Type.TavernAmbush_2:
        case Character.Type.TavernAmbush_3:
            material.mainTexture = GameAssets.i.t_EnemyMinionOrange;
            playerBase.GetAnimatedWalker().SetAnimations(GameAssets.UnitAnimTypeEnum.dMinion_Idle, GameAssets.UnitAnimTypeEnum.dMinion_Walk, 1f, 1f);
            break;
        }

        SetTargetMovePosition(GetPosition());

        OvermapHandler.GetInstance().OnOvermapStopped += NPCOvermap_OnOvermapStopped;
    }
예제 #7
0
 public void Setup(Item item, PlayerOvermap playerOvermap)
 {
     this.item          = item;
     this.playerOvermap = playerOvermap;
 }