コード例 #1
0
ファイル: ObstacleColorizer.cs プロジェクト: JonnyXDA/Chroma
        internal ObstacleColorizer(ObstacleControllerBase obstacleController)
        {
            StretchableObstacle stretchableObstacle = obstacleController.GetComponent <StretchableObstacle>();

            _obstacleFrame                    = _obstacleFrameAccessor(ref stretchableObstacle);
            _obstacleFakeGlow                 = _obstacleFakeGlowAccessor(ref stretchableObstacle);
            _addColorMultiplier               = _addColorMultiplierAccessor(ref stretchableObstacle);
            _obstacleCoreLerpToWhiteFactor    = _obstacleCoreLerpToWhiteFactorAccessor(ref stretchableObstacle);
            _materialPropertyBlockControllers = _materialPropertyBlockControllersAccessor(ref stretchableObstacle);

            if (obstacleController is ObstacleController trueObstacleController)
            {
                OriginalColor = _colorManagerAccessor(ref trueObstacleController).obstaclesColor;
            }
            else
            {
                // Fallback
                OriginalColor = Color.white;
            }

            Colorizers.Add(obstacleController, this);
        }
コード例 #2
0
 public static void ColorizeObstacle(this ObstacleControllerBase obstactleController, Color?color) => obstactleController.GetObstacleColorizer().Colorize(color);
コード例 #3
0
 public static ObstacleColorizer GetObstacleColorizer(this ObstacleControllerBase obstactleController) => ObstacleColorizer.Colorizers[obstactleController];
コード例 #4
0
ファイル: ObstacleDissolve.cs プロジェクト: JonnyXDA/Chroma
 private static void Postfix(ObstacleControllerBase ____obstacleController)
 {
     ObstacleColorizer.Colorizers.Remove(____obstacleController);
 }
コード例 #5
0
ファイル: ObstacleDissolve.cs プロジェクト: JonnyXDA/Chroma
 private static void Prefix(ObstacleControllerBase ____obstacleController)
 {
     new ObstacleColorizer(____obstacleController);
 }