Ejemplo n.º 1
0
        Action <Vector3?> ApplyAoEDamage(Game.Data.Actions.Attacks.AreaOfEffectAttack attack)
        {
            return((Vector3? position) => {
                if (!position.HasValue)
                {
                    return;
                }

                attack.TryApply(Utilities.Combat.WorldPositionToCombatPosition(position.Value), this);
            });
        }
Ejemplo n.º 2
0
        public override void OnInspectorGUI()
        {
            Game.Data.Actions.Attacks.AreaOfEffectAttack item = (Game.Data.Actions.Attacks.AreaOfEffectAttack)target;

            serializedObject.Update();
            foreach (SerializedProperty property in properties.Values)
            {
                EditorGUILayout.PropertyField(property);
            }

            serializedObject.ApplyModifiedProperties();
        }
Ejemplo n.º 3
0
        void OnSceneGUI(SceneView sceneView)
        {
            Game.Data.Actions.Attacks.AreaOfEffectAttack item = (Game.Data.Actions.Attacks.AreaOfEffectAttack)target;

            Handles.color = new Color(1, 0, 0, 0.1f);

            Vector3 mousePosition = Event.current.mousePosition;
            Ray     ray           = HandleUtility.GUIPointToWorldRay(mousePosition);

            if (Physics.Raycast(ray, out RaycastHit hit))
            {
                Handles.DrawSolidDisc(hit.point, hit.normal, item.Radius);
            }

            SceneView.RepaintAll();
        }