Exemple #1
0
        public void CreateBrokenBonusBox(BonusTakenEvent e, BonusWithResourceNode bonus, [JoinAll] SingleNode <BonusClientConfigComponent> bonusConfig)
        {
            Transform transform = bonus.bonusBoxInstance.BonusBoxInstance.transform;
            GetInstanceFromPoolEvent eventInstance = new GetInstanceFromPoolEvent {
                Prefab = bonus.bonusBoxInstance.BonusBoxInstance.GetComponent <BrokenBonusBoxBehavior>().BrokenBonusGameObject
            };

            base.ScheduleEvent(eventInstance, bonus);
            Transform  instance   = eventInstance.Instance;
            GameObject gameObject = instance.gameObject;

            instance.position = transform.position;
            instance.rotation = transform.rotation;
            Material[] allMaterials = MaterialAlphaUtils.GetAllMaterials(gameObject);
            allMaterials.SetOverrideTag("RenderType", "Transparent");
            Entity entity = base.CreateEntity("brokenBonusBox");

            entity.AddComponent(new MaterialArrayComponent(allMaterials));
            entity.AddComponent(new BrokenBonusBoxInstanceComponent(gameObject));
            entity.AddComponent <BonusTakingStateComponent>();
            entity.AddComponent(new LocalDurationComponent(bonusConfig.component.disappearingDuration));
            gameObject.SetActive(true);
        }
Exemple #2
0
 public void FoldParachute(BonusTakenEvent e, BonusWithParachuteNode bonus)
 {
     bonus.Entity.AddComponent <BonusParachuteFoldingStateComponent>();
 }
Exemple #3
0
 public void DestroyBonusBox(BonusTakenEvent e, SingleNode <BonusBoxInstanceComponent> bonus)
 {
     bonus.component.BonusBoxInstance.RecycleObject();
 }