Beispiel #1
0
        private bool isBlinking; // If true, the FriendZone is currently blinking. (effect used in the tutorial)

        public FriendZone(FriendZonesEnum friendZoneEnum, IFriendZoneShape friendZoneShape,
                          FriendZoneCollector friendZoneCollector)
        {
            // Initialize attributes
            FriendZoneEnum            = friendZoneEnum;
            FriendZoneShapeController = new FriendZoneShapeController(friendZoneShape);
            LineRenderer = friendZoneCollector.lineRenderer;
            MeshCollider = friendZoneCollector.meshCollider;
            MeshFilter   = friendZoneCollector.meshFilter;

            Gauge        = new Gauge();
            meshRenderer = friendZoneCollector.meshRenderer;

            // Initialize colors
            switch (friendZoneEnum)
            {
            case FriendZonesEnum.NoGo:
                outColor = FriendZonesConstants.NoGoZoneOutColor;
                inColor  = FriendZonesConstants.NoGoZoneInColor;
                break;

            case FriendZonesEnum.Discomfort:
                outColor = FriendZonesConstants.DiscomfortZoneOutColor;
                inColor  = FriendZonesConstants.DiscomfortZoneInColor;
                break;

            case FriendZonesEnum.Comfort:
                outColor = FriendZonesConstants.ComfortZoneOutColor;
                inColor  = FriendZonesConstants.ComfortZoneInColor;
                break;

            case FriendZonesEnum.Distant:
                outColor = FriendZonesConstants.DistantZoneOutColor;
                inColor  = FriendZonesConstants.DistantZoneInColor;
                break;
            }

            UpdateColor(outColor);

            // Setup FriendZone listener's reference to this class
            FriendZoneListener friendZoneListener = friendZoneCollector.friendZoneListener;

            friendZoneListener.SetCorrespondingFriendZone(this);
        }
Beispiel #2
0
        /**
         * Handles the transition to a new shape
         */
        public void TransitionToNewCharacteristics(FriendZoneShapeConfigForm friendZoneShapeConfigForm)
        {
            switch (friendZoneShapeConfigForm.friendZoneShapesEnum)
            {
            case FriendZoneShapesEnum.Circle:
                friendZoneShape =
                    new WavyFriendZoneShape(
                        // TODO: This cast errors
                        (CircleFriendZoneShapeConfig)friendZoneShapeConfigForm.friendZoneShapeConfig);
                break;

            case FriendZoneShapesEnum.Wavy:
                friendZoneShape =
                    new WavyFriendZoneShape(
                        friendZoneShapeConfigForm.friendZoneShapeConfig);
                break;

            default:
                break;
            }
        }
Beispiel #3
0
        private IFriendZoneShape friendZoneShape; // The FriendZone's shape
        //TODO: Add lerping speed

        public FriendZoneShapeController(IFriendZoneShape friendZoneShape)
        {
            this.friendZoneShape = friendZoneShape;
            friendZoneShape.CalculateTargetOuterVertices();
            OuterVertices = friendZoneShape.TargetOuterVertices;
        }