package Ġcom . jetbrains . r ider . plugins . unity . ui Ċ Ċ import Ġcom . intellij . ide . plugins .* Ċ import Ġcom . intellij . ide . util . Properties Component Ċ import Ġcom . intellij . openapi . extensions . Plugin Id Ċ import Ġcom . intellij . openapi . file Editor . File Editor Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . util . Key Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġcom . intellij . ui . Editor Notification Panel Ċ import Ġcom . intellij . ui . Editor Notifications Ċ import Ġcom . jetbrains . r ider . is Unity Project Ċ import Ġcom . jetbrains . r ider . plugins . unity . util . is U ss File Ċ Ċ class ĠU ss Disabled Editor Notification : ĠEditor Notifications . Provider < Editor Notification Panel >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY Ġ= ĠKey . create < Editor Notification Panel >(" unity . uss . css . plugin . disabled . notification . panel ") ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDO _ NOT _ SHOW _ AG AIN _ KEY Ġ= Ġ" unity . uss . css . plugin . disabled . do . not . show " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCSS _ PLUGIN _ ID Ġ= Ġ" com . intellij . css " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetKey (): ĠKey < Editor Notification Panel > Ġ= ĠKEY ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Notification Panel ( file : ĠVirtual File , Ġfile Editor : ĠFile Editor , Ġproject : ĠProject ): ĠEditor Notification Panel ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( project . is Unity Project () Ġ&& Ġis U ss File Safe ( file ) Ġ&& ĠPlugin Manager Core . is Disabled ( Plugin Id . getId ( CSS _ PLUGIN _ ID ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Properties Component . getInstance ( project ). getBoolean ( DO _ NOT _ SHOW _ AG AIN _ KEY , Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpanel Ġ= ĠEditor Notification Panel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . text (" U SS Ġsupport Ġrequires Ġthe ĠCSS Ġplugin Ġto Ġbe Ġenabled ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . create Action Label (" Enable ĠCSS Ġplugin ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠMaybe Ġin Ġ 2 0 2 0 . 2 Ġwe Ġcan Ġdo Ġthis Ġdynamically Ġwithout Ġrestart ? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThat Ġwould Ġrequire Ġenabling Ġthe ĠCSS Ġplugin Ġdynamically , Ġand Ġthen Ġenabling Ġour ĠPlugin Css Part . xml Ġpart ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdynamically , Ġtoo ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlugin Manager Core . enable Plugin ( Plugin Id . getId ( CSS _ PLUGIN _ ID )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlugin Manager Main . notify Plugins Updated ( project ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEditor Notifications . getInstance ( project ). update All Notifications () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpanel . create Action Label (" Don 't Ġshow Ġagain ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠProject Ġlevel Ġ- Ġdo Ġnot Ġshow Ġagain Ġfor Ġthis Ġproject ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProperties Component . getInstance ( project ). setValue ( DO _ NOT _ SHOW _ AG AIN _ KEY , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEditor Notifications . getInstance ( project ). update All Notifications () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpanel ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis U ss File Safe ( file : ĠVirtual File ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġcan 't Ġcheck Ġfor ĠU ss FileType Ġbecause Ġit Ġwon 't Ġbe Ġloaded . ĠThe Ġfile Ġtype Ġis Ġpart Ġof Ġthe ĠU SS Ġlanguage , Ġwhich ĊĠĠĠĠĠĠĠ Ġ// Ġder ives Ġfrom ĠCSS Language , Ġwhich Ġwill Ġbe Ġunavailable . ĊĠĠĠĠĠĠĠ Ġreturn Ġfile . extension . equals (" uss ", Ġtrue ) ĊĠĠĠ Ġ} Ċ }