예제 #1
0
    public static BanditView CreateBanditView(Bandit bandit)
    {
        BanditView banditView = Object.Instantiate(Resources.Load <BanditView>("Prefabs/Views/BanditView"));

        banditView.id = bandit.id;
        banditView.transform.localScale = Vector3.one * bandit.radius * 2f;
        banditView.transform.position   = bandit.pos.Vector3();
        banditView.transform.forward    = bandit.dir.Vector3();
        return(banditView);
    }
예제 #2
0
    public void Execute(World model, WorldView view)
    {
        BanditView banditView = ViewService.GetBanditViewWithId(view, id);

        if (banditView != null)
        {
            Object.Destroy(banditView.gameObject);
            view.banditViews.Remove(id);
            VisualEffectsService.AddExplosion(view, banditView.transform.position);
            AudioController.Instance.PlaySound(AudioController.Sound.BanditDeath);
        }
    }
예제 #3
0
 public void Execute(World model, WorldView view)
 {
     if (model.bandits.ContainsKey(id))
     {
         Bandit     bandit     = model.bandits[id];
         BanditView banditView = ViewService.GetBanditViewWithId(view, id);
         if (banditView != null)
         {
             banditView.UpdateHP(bandit.hp);
         }
         AudioController.Instance.PlaySound(AudioController.Sound.DamageBandit);
     }
 }
예제 #4
0
    public void Execute(World model, WorldView view)
    {
        Bandit     bandit     = model.bandits[id];
        BanditView banditView = ViewService.GetBanditViewWithId(view, id);

        if (banditView != null)
        {
            banditView.UpdateHP(bandit.hp);
            banditView.GetComponentInChildren <MeshRenderer>().material.SetColor(
                "_Color",
                Color.Lerp(new Color32(200, 0, 65, 255), Color.white, (bandit.distance - Config.MIN_DISTANCE) / Config.SPAWN_RANGE)
                );
        }
    }