Exemplo n.º 1
0
        public static GameObject Init(this DGameObjectComponent self, string bundle, string variant, string name, Transform parent = null)
        {
            GameObject gameobject = GameObjectPool.Instance.Fetch(bundle, variant, name, parent);

            self.GameObject = gameobject;

            return(gameobject);
        }
Exemplo n.º 2
0
        public static void UpdateSkillMaxRadiusTrigger(Skill skill)
        {
            DGameObjectComponent objectcom = skill.GetComponent <DGameObjectComponent>();
            NumericComponent     skillnum  = skill.GetComponent <NumericComponent>();

            float maxradius = skillnum.GetAsFloat(NumericType.MaxRadius);

            ReferenceCollector rc = objectcom.GameObject.GetComponent <ReferenceCollector>();
            GameObject         MaxRadiusTrigger = rc.Get <GameObject>("MaxRadiusTrigger");

            MaxRadiusTrigger.transform.localScale = new Vector3(maxradius, maxradius, maxradius);
        }
        protected override async ETTask Run(AppEventType.ChangePosition args)
        {
            DGameObjectComponent gameObjectComponent = args.Unit.GetComponent <DGameObjectComponent>();

            if (gameObjectComponent == null)
            {
                return;
            }
            Transform transform = gameObjectComponent.GameObject.transform;

            transform.position = args.Unit.Position;
            await ETTask.CompletedTask;
        }
Exemplo n.º 4
0
        public static void UpdateDamageTrigger(Skill skill)
        {
            DGameObjectComponent objectcom = skill.GetComponent <DGameObjectComponent>();
            ReferenceCollector   rc        = objectcom.GameObject.GetComponent <ReferenceCollector>();

            GameObject trigger = null;

            switch (skill.SkillDamageType)
            {
            case SkillDamageType.TargetArea:
                trigger = rc.Get <GameObject>("TargetAreaTrigger");
                break;

            case SkillDamageType.CasterArea:
                trigger = rc.Get <GameObject>("CasterAreaTrigger");
                break;

            case SkillDamageType.CasterFront:
                trigger = rc.Get <GameObject>("CasterFrontTrigger");
                break;
            }

            if (trigger == null)
            {
                return;
            }

            NumericComponent skillnum = skill.GetComponent <NumericComponent>();

            float scalex = skillnum.GetAsFloat(NumericType.ScaleX);
            float scaley = skillnum.GetAsFloat(NumericType.ScaleY);
            float scalez = skillnum.GetAsFloat(NumericType.ScaleX);

            trigger.SetActive(true);
            trigger.transform.localScale = new Vector3(scalex, scaley, scalez);
        }