コード例 #1
0
        public ComplexTarget GetAsComplexTarget(string key)
        {
            var v = this.GetVariant(key);

            if (v == null)
            {
                return(ComplexTarget.Null);
            }

            switch (v.ValueType)
            {
            case VariantType.Object:
                return(ComplexTarget.FromObject(v.Value));

            case VariantType.Vector2:
                return(new ComplexTarget(v.Vector2Value));

            case VariantType.Vector3:
            case VariantType.Vector4:
                return(new ComplexTarget(v.Vector3Value));

            case VariantType.GameObject:
            case VariantType.Component:
                return(ComplexTarget.FromObject(v.Value));

            default:
                return(ComplexTarget.Null);
            }
        }
コード例 #2
0
        public void SetAsComplexTarget(string key, ComplexTarget target)
        {
            switch (target.TargetType)
            {
            case ComplexTargetType.Null:
                this.GetVariant(key, true).Value = null;
                break;

            case ComplexTargetType.Aspect:
                this.GetVariant(key, true).Value = target.TargetAspect;
                break;

            case ComplexTargetType.Transform:
                this.GetVariant(key, true).Value = target.Transform;
                break;

            case ComplexTargetType.Vector2:
                this.GetVariant(key, true).Value = target.Position2D;
                break;

            case ComplexTargetType.Vector3:
                this.GetVariant(key, true).Value = target.Position;
                break;
            }
        }